Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pemicu MySQL sebelum memasukkan kolom pembaruan dengan id kenaikan otomatis baru

AUTO_INCREMENT kolom hanya disetel setelah menyisipkan.

Jika Anda perlu mengakses nilai itu, Anda hanya dapat dalam AFTER INSERT pemicu. Namun, Anda tidak dapat memodifikasi nilai kolom dalam AFTER UPDATE pemicu...

Selain itu, Anda tidak dapat melakukan pembaruan pada tabel yang digunakan di AFTER INSERT pemicu sebagai (http://dev.mysql. com/doc/refman/5.0/en/stored-program-restrictions.html ):

Di sini satu-satunya solusi yang masuk akal adalah membuat prosedur tersimpan untuk memperbarui tabel, menyesuaikan kolom yang relevan dalam transaksi untuk "meniru" pernyataan penyisipan atom Anda.

Karena itu, dalam kasus khusus Anda , key kolom berlebihan karena kolom itu hanyalah gabungan dari dua kolom lain dari baris yang sama.

Mengingat namanya, bukankah Anda mencari cara untuk membuat kunci majemuk? Sesuatu seperti itu:

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. Haruskah saya hanya menggunakan AWS RDS Automated Backup atau DB Snapshots?

  2. Permintaan MySQL untuk mencari bidang dengan string JSON

  3. PHP, MySQL dan Zona Waktu

  4. Amazon RDS Aurora vs RDS MySQL vs MySQL di EC2?

  5. pekerjaan cron atau penjadwal PHP