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

MySQL:gunakan kembali peningkatan otomatis selama penyisipan

Ya. Seperti yang Anda temukan, nilai id belum dibuat di pemicu BEFORE INSERT. Tetapi Anda tidak dapat mengubah nilai NEW.thread Anda di pemicu AFTER INSERT.

Anda tidak dapat mengandalkan membaca INFORMATION_SCHEMA, karena Anda dapat menyebabkan kondisi balapan.

Anda hanya perlu melakukan INSERT, lalu segera jalankan:

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

Jika itu komentar root.

Lihat juga jawaban saya sebelumnya tentang topik serupa:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. variabel terdefinisi global kustom mysql

  2. Masukkan ke pilih dan perbarui dalam satu kueri

  3. Mysql:menambahkan kunci asing tidak memberikan peringatan/kesalahan pada tabel MyISAM

  4. Memuat Penanda dari file XML ke Google Map API

  5. Permintaan Pilihan Rantai Mysql