Ya. Anda tidak dapat memiliki beberapa bidang kenaikan otomatis dalam satu tabel.
CREATE TABLE foo (
id1 int(11) NOT NULL auto_increment,
id2 int(11) NOT NULL default '0',
PRIMARY KEY (id1, id2)
);
INSERT INTO foo VALUES (DEFAULT, 2);
SELECT LAST_INSERT_ID(); -- returns 1, the value generated for id1
LAST_INSERT_ID()
mengembalikan nilai hanya untuk kolom yang dideklarasikan AUTO_INCREMENT
. Tidak ada fungsi untuk mengembalikan nilai dalam kunci utama majemuk yang bukan dihasilkan oleh sistem. Anda seharusnya sudah mengetahui nilai itu, karena Anda baru saja memberikannya dalam INSERT
penyataan. Kasus yang sulit adalah ketika pemicu atau sesuatu menimpa nilainya.