CREATE UNIQUE INDEX idxname ON tablename (fieldname);
Việc thêm chỉ mục này sẽ đảm bảo rằng không có mục nhập trùng lặp nào cho fieldname
trường sẽ được ghi vào tablename
bảng.
Bạn sẽ gặp lỗi MySQL với máy khách thứ hai. Bạn nên xử lý điều này trong mã PHP của mình và hiển thị lại biểu mẫu (thay vì chỉ hiển thị thông báo lỗi).
Một khả năng khác (đối với các vị trí phức tạp hơn) là LOCK
chức năng. Nếu bạn khóa bảng trước khi kiểm tra và sau đó bạn chèn bản ghi của mình, một thao tác đồng thời (trong cửa sổ trình duyệt thứ hai) sẽ bị trì hoãn cho đến khi bạn mở khóa. Sau đó, bản ghi sẽ được lưu, vì vậy tập lệnh PHP thứ hai sẽ nhìn thấy nó và xử lý vị trí.