Есть ли какой-то эквивалент PHP mysql_insert_id
для извлечения последнего вставленного первичного ключа UUID ()? (Я всегда получаю 0. Это работает для auto_inc целых чисел)
Нет, last_insert_id () возвращает только последние созданные поля auto_increment. Сначала вам нужно сначала select uuid()
, а затем вставить с помощью этого uuid.
Однако, обратите внимание, что uuids не могут быть гарантированы уникальными – они просто очень маловероятны, чтобы столкнуться. Если вам требуется уникальность, перейдите в auto_increment – они никогда не будут повторно использоваться в любой отдельной таблице.
Я нашел это довольно короткое и простое решение:
set @id=UUID(); insert into <table>(<col1>,<col2>) values (@id,'another value'); select @id;