Bagaimana untuk batch memasukkan id yang dimasukkan dalam mysql
P粉738248522
P粉738248522 2024-03-26 14:08:28
0
1
496

Saya cuba mendapatkan insertid selepas memasukkan berbilang baris dalam jadual mysql menggunakan pertanyaan ini

insert into sometable (id , candidateid , createdby)
    values ('61','3175','1425'),('60','3175','1425'),('42','3175','1425'),('61','3176','1425'),('60','3176','1425'),('42','3176','1425') OUTPUT INSERTED.id

Tetapi saya mendapat ralat sintaks sql

code: 'ER_PARSE_ERROR',
  errno: 1064,
  sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUTPUT INSERTED.id' at line 2",
  sqlState: '42000',

Bagaimana untuk mendapatkan ID masukkan

P粉738248522
P粉738248522

membalas semua(1)
P粉614840363

OUTPUT INSERTED Sintaks ialah Microsoft SQL Server perkara. MySQL tidak menyokong sintaks ini.

Dalam contoh anda, anda telah menetapkan nilai id secara eksplisit, jadi tidak perlu mengembalikannya. Hanya dapatkannya daripada nilai anda sendiri, yang jelas anda sudah tahu sebelum melakukan sisipan.

Anda mungkin bergantung pada ID kenaikan automatik yang dijana semasa sisipan.

Untuk mendapatkan ID kenaikan automatik bagi baris yang paling baru dimasukkan, gunakan fungsi LAST_INSERT_ID() dalam pertanyaan berasingan selepas INSERT.

LAST_INSERT_ID() hanya mengembalikan ID first yang dijana semasa pemasukan. Jika anda melakukan sisipan berbilang baris, terpulang kepada anda untuk membuat kesimpulan id berikutnya. Ia biasanya nilai berterusan. Sebagai contoh, pemacu MySQL JDBC bergantung padanya sebagai nilai berturut-turut supaya ia boleh mengembalikan set id selepas sisipan pukal.

Walau bagaimanapun, jika anda menukar innodb_autoinc_lock_mode=2 mereka tidak dijamin sebagai nilai berturut-turut, ia memperuntukkan nilai auto-inc dalam cara "berjalin", jadi sisipan serentak mungkin mendapat nilai daripada jujukan antara set yang dihasilkan oleh sisipan berbilang baris . Ini bukan mod lalai, jadi anda boleh menetapkannya dengan sengaja.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!