php-mysql如何增加二进制、UUID主键并获得插入的id


php-mysql how to increment a binary, UUID primary key and get inserted id

如何自动递增二进制列。以及如何获取mysql_insert_id/最后一个插入id。。。我喜欢这个

$on="INSERT INTO `public_poll`(`poll_id`,`poll_closing_date`,`active`)
VALUES((select UNHEX(REPLACE(UUID(),'-',''))),(select DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL 8 DAY)),1)";
 $onj=mysql_query($on);

但是如何获得插入的id

最初,我以为您使用的是AUTO_INCREMENT字段。

现在我注意到您使用的是以二进制形式存储的UUID字段,我建议您改用Postgres。

基本上,您永远不想"自动递增"UUID,因为这只会产生损坏的UUID。你看,UUID插入背后的理论是,你绝对不应该在插入后获取ID;相反,您应该在原始应用程序中生成UUID,并在那里记住它——在本例中是PHP。

就我个人而言,在Linux系统上,我只是针对libuuid(sp?)exec(),并在所有地方使用该值。

PHP还存在各种UUID库,如以下内容:http://pecl.php.net/package/uuid

编辑:这里的更多信息:替换MySQL';s UUID Version 1函数?