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

Kích hoạt MySQL trước khi chèn cột cập nhật với id tăng tự động mới

AUTO_INCREMENT cột chỉ được đặt sau chèn.

Nếu bạn cần truy cập giá trị đó, bạn chỉ có thể trong AFTER INSERT cò súng. Tuy nhiên, bạn không thể sửa đổi một giá trị cột trong AFTER UPDATE kích hoạt ...

Ngoài ra, bạn không thể thực hiện cập nhật trên bảng được sử dụng trong AFTER INSERT kích hoạt dưới dạng ( http://dev.mysql. com / doc / refman / 5.0 / en / Managed-program-domains.html ):

Ở đây, giải pháp hợp lý duy nhất sẽ là tạo một quy trình được lưu trữ để cập nhật bảng, điều chỉnh các cột có liên quan trong một giao dịch để "mô phỏng" câu lệnh chèn nguyên tử của bạn.

Điều đó đang được nói, trong trường hợp cụ thể của bạn , khóa key cột là thừa vì cột đó chỉ là phần nối của hai cột khác của cùng một hàng.

Với tên của nó, bạn không phải đang tìm cách tạo một khóa ghép sao? Đại loại vậy:

ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Làm thế nào để sao chép toàn bộ một hàng từ bảng này sang bảng khác trong mysql với bảng thứ hai có thêm một cột?

  2. Làm cách nào để kết nối cơ sở dữ liệu mysql và chèn dữ liệu vào đó bằng mã android

  3. Các phím duy nhất của giáo lý và tổng hợp

  4. Lấy dữ liệu từ cơ sở dữ liệu mysql bằng php và jquery ajax

  5. Số cột của mysql.user bị sai. Dự kiến ​​là 42, tìm thấy 44. Bảng có thể bị hỏng