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

Làm cách nào chúng ta có thể sử dụng lại id đã xóa từ bất kỳ bảng MySQL-DB nào?

Có thể có thể bằng cách tìm ID thấp nhất không được sử dụng và buộc nó, nhưng đó là một phương pháp cực kỳ tồi tệ, chủ yếu là do tính toàn vẹn tham chiếu:Ví dụ:có thể là các mối quan hệ từ các bảng khác trỏ đến một bản ghi đã bị xóa, điều này sẽ không thể nhận ra được như "bị xóa" nữa nếu ID được sử dụng lại.

Điểm mấu chốt:Đừng làm điều đó. Đó là một ý tưởng thực sự tồi.

Bài đọc liên quan: Sử dụng auto_increment trong hướng dẫn sử dụng mySQL

Cập nhật lại:Ngay cả khi bạn có lý do chính đáng để làm điều này, tôi không nghĩ rằng có cách tự động để sử dụng lại các giá trị trong auto_increment đồng ruộng. Nếu có, bạn sẽ phải tìm giá trị thấp nhất chưa được sử dụng (có thể sử dụng thủ tục được lưu trữ hoặc tập lệnh bên ngoài) và buộc nó làm ID (nếu điều đó thậm chí có thể.).



  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 đặt sql-mode =NO_ENGINE_SUBSTITUTION vĩnh viễn trong MySQL my.cnf

  2. Làm cách nào để bạn mã hóa một dấu nháy đơn để nó có thể tìm kiếm được trong mysql?

  3. Đôi khi kết nối bị treo với Amazon RDS MySQL &Play Framework 1.2.5 (cài đặt mặc định c3p0)

  4. MYSQL Câu lệnh If trong giao dịch gây ra lỗi

  5. Sự cố với MySQL cho Visual Studio / Visual Studio 2017 Datasource Wizard. Tham chiếu đối tượng không được đặt thành một phiên bản của đối tượng