Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chèn vào trường tăng dần tự động

Được rồi, trước khi bạn nhận được câu trả lời cho câu hỏi của mình, tôi phải cảnh báo bạn về cực kỳ thực hành không tốt mà bạn đang cố gắng làm ở đó. Đừng hiểu sai ý tôi, nhiều người đã cố gắng làm những gì bạn đang làm và đó đơn giản không phải là cách mọi thứ nên hoạt động.

ID auto_incremented của bạn là một khóa chính. Khóa chính được sử dụng để xác định duy nhất một hàng trong bảng. Đó là nó. Nó không có ý nghĩa đặc biệt nào khác ngoài điều đó.

Vậy điều đó có ý nghĩa gì đối với bạn? Có nghĩa là ý tưởng của bạn rằng bạn sẽ "đặt trước" 1 - 10k cho quản trị viên là không tốt. Tại sao nó xấu? Vì bạn đang giả mạo khóa chính. Bạn không bao giờ nên quyết định giá trị của khóa chính là bao nhiêu, đó là công việc của cơ sở dữ liệu vì nhiều lý do (ví dụ:tính nhất quán). bạn sẽ tính toán mục tiếp theo cho quản trị viên là gì? Điều gì sẽ xảy ra nếu bạn đã nhập 1, 2, 3, 4 và sau đó bạn xóa mục nhập có ID =3? Điều gì xảy ra sau đó? Giá trị thứ tự tiếp theo của bạn là gì? 3 hoặc 5?

Nói như vậy, có lẽ bạn nên suy nghĩ lại về chiến lược của mình. Tại sao không thêm trường "isAdmin" sẽ cho bạn biết liệu quản trị viên có đăng nội dung gì đó hay không?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xóa mật khẩu gốc MySQL

  2. sử dụng auto_increment trong khóa tổng hợp

  3. Một MySQL DELETE thành công trả về điều gì? Làm cách nào để kiểm tra xem XÓA có thành công không?

  4. Đối tượng Đa giác này tự đóng lại. Tại sao chèn này vẫn không thành công với Lỗi 3037:Dữ liệu GIS không hợp lệ?

  5. Người dùng không thể xem cơ sở dữ liệu trong bàn làm việc mysql