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);