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

MySQL:sử dụng lại tự động tăng trong khi chèn

Đúng. Như bạn đã phát hiện, giá trị id vẫn chưa được tạo trong trình kích hoạt CHÈN TRƯỚC. Nhưng bạn không thể thay đổi giá trị NEW.thread của mình trong trình kích hoạt SAU KHI CHÈN.

Bạn không thể dựa vào việc đọc INFORMATION_SCHEMA, vì bạn có thể gây ra tình trạng chủng tộc.

Bạn chỉ cần thực hiện INSERT, và sau đó thực thi ngay lập tức:

UPDATE comments SET thread=id WHERE id=LAST_INSERT_ID() AND thread IS NULL;

Nếu đó là một nhận xét gốc.

Xem thêm các câu trả lời trước đây của tôi về chủ đề tương tự:



  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 sử dụng hàm string left trong hql

  2. # 1055 - Biểu thức của danh sách SELECT không nằm trong mệnh đề GROUP BY và chứa cột không được tổng hợp, cột này không tương thích với sql_mode =only_full_group_by

  3. php:đảo ngược tác động của mysql_real_escape_string trên hệ nhị phân

  4. Chia giá trị chuỗi được phân tách thành các hàng

  5. GRANT tối thiểu cần thiết bởi mysqldump để kết xuất một lược đồ đầy đủ? (Thiếu TRIGGERs !!)