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

时间:2013-07-30 12:08:13

标签: php mysql

如何自动增加二进制列。以及如何获取mysql_insert_id / last insert 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

1 个答案:

答案 0 :(得分:0)

最初,我以为你正在使用AUTO_INCREMENT字段。

现在我注意到你正在使用存储为二进制文件的UUID字段,我建议你转移到Postgres。

基本上,您不希望“自动增量”UUID,因为它只会产生损坏的UUID。你知道,UUID插入背后的理论是插入之后绝对不应获取ID ;相反,你应该在原始应用程序中生成UUID,并在那里记住它 - 在这种情况下是PHP。

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

还存在各种用于PHP的UUID库,例如:http://pecl.php.net/package/uuid

修改:此处有更多信息:Substitute for MySQL's UUID Version 1 function?