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

Sắp xếp lại / đặt lại khóa chính tăng tự động

Mặc dù câu hỏi này có vẻ khá cũ, nhưng sẽ đăng câu trả lời cho những ai có thể truy cập vào đây để tìm kiếm.

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

Nếu cột được sử dụng làm khóa ngoại trong các bảng khác, hãy đảm bảo bạn sử dụng ON UPDATE CASCADE thay vì ON UPDATE NO ACTION mặc định cho mối quan hệ khóa ngoài trong các bảng đó.

Hơn nữa, để đặt lại AUTO_INCREMENT đếm, ngay lập tức bạn có thể đưa ra câu lệnh sau.

ALTER TABLE `users` AUTO_INCREMENT = 1;

Đối với MySQL, nó sẽ đặt lại giá trị thành MAX(id) + 1 .



  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 lưu trữ địa chỉ tương thích với IPv6 trong cơ sở dữ liệu quan hệ

  2. MySQL tương đương với hàm CHOOSE () của SQL Server là gì?

  3. Truy vấn SQL để hiển thị ngày gần nhất?

  4. MySQL:ALTER TABLE nếu cột không tồn tại

  5. LỖI 2006 (HY000):Máy chủ MySQL đã biến mất