PHP mysql_insert_id () для первичных ключей MySQL UUID ()? - PullRequest
0 голосов
/ 21 февраля 2012

Есть ли какой-нибудь эквивалент PHP mysql_insert_id для извлечения последнего вставленного первичного ключа UUID ()? (Я всегда получаю 0. Это работает для целых чисел auto_inc, хотя)

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Нет, last_insert_id () извлекает только последние сгенерированные поля auto_increment. Сначала вам нужно будет выполнить select uuid(), а затем вставить с использованием этого uuid.

Тем не менее, обратите внимание, что uuids не может быть гарантированно уникальным - они просто вряд ли столкнутся. Если вам требуется уникальность, тогда используйте auto_increment - они никогда не будут повторно использоваться ни в одной отдельной таблице.

0 голосов
/ 07 января 2017

Я нашел это довольно короткое и простое решение:

set @id=UUID();
insert into <table>(<col1>,<col2>) values (@id,'another value');
select @id;
...