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

标签 php mysql

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

编辑:更多信息在这里:Substitute for MySQL's UUID Version 1 function?

关于php-mysql 如何递增二进制 UUID 主键并获取插入的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946619/

相关文章:

mysql - 如何在 SQL 中为列中的每条数据添加数字?

php - 单击 INSERT INTO mySQL 而不更新当前页面

mysql - TRIGGER INSERT 问题

php - 不能在 cURL PHP 中使用 cookie

php - 如何在PHP中从当前时间获取过去的一天

php - 区分大小写的查询

php - MySQL:AND 运算符不起作用

mysql - 使用不同线程的mysql中的内存泄漏

php - 如果自动加载,则阻止 codeigniter session 库发送 set-cookie header 参数

php - 在phpexcel中将文本转换为数字格式