Рассмотрим следующую таблицу, совершенно случайно для примераПолучить последний добавленный ряд сложных первичный ключ
CREATE TABLE `test` (
`key` int(11) NOT NULL,
`id2` varchar(255) NOT NULL,
`id3` varchar(255) NOT NULL,
`text` varchar(255) NOT NULL,
PRIMARY KEY (`key`,`id2`,`id3`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
мне нужно вставить и получить уникальный идентификатор вставленной строки, которая будет сложный первичный ключ. Если бы у меня был первичный ключ одного столбца, я бы использовал PDO::lastInsertId
, но если я его использую в этом случае, я получаю результат string(1) "0"
для оператора INSERT INTO test VALUES (1, 1, 1, 'test')
. Есть ли способ получить столбцы первичного ключа сложного ключа после вставки? В этом конкретном случае из вышесказанного мне нужно получить array(1, 1, 1)
Совокупный ключ не может быть сгенерирован базой данных, поэтому значения должны быть предоставлены вашим запросом INSERT. Возникает вопрос: зачем извлекать ключ, когда значения уже известны вашему скрипту? – syck
@syck Это хороший вопрос, но объяснение непросто. Я создаю генератор кода, и он немного сложный (для меня). –