问题
Is there some equivalent to PHP mysql_insert_id
to fetch the last inserted UUID() primary key? (I always get 0. It works for auto_inc integers though)
回答1:
No, last_insert_id() only retrieves that last generated auto_increment fields. You'll have to do a select uuid()
first, then do an insert using that uuid.
However, note that uuids can't be guaranteed to be unique - they're simply very unlikely to collide. If you do require uniqueness, then go with an auto_increment - they'll never be re-used within any single table.
回答2:
I found this quite short and simple solution:
set @id=UUID();
insert into <table>(<col1>,<col2>) values (@id,'another value');
select @id;
来源:https://stackoverflow.com/questions/9379282/php-mysql-insert-id-for-mysql-uuid-primary-keys