LAST_INSERT_ID(col - 1)是否始终生成唯一的数字?

时间:2014-05-18 07:24:44

标签: mysql

给出以下DDL:

CREATE TABLE mytable (col_pk INT)

即使数百个客户端同时发出语句,以下内容总是会产生mytable唯一col_pk:

INSERT INTO mytable (col_pk) VALUES (LAST_INSERT_ID(col_pk - 1))

(我正在使用InnoDb,因为INSERT在事务中运行,所以(LAST_INSERT_ID(col_pk - 1)为mytable生成一个唯一的数字应该是安全的)

1 个答案:

答案 0 :(得分:0)

如果您在上面显示,它将不会生成唯一标识符。

您需要有一个字段,该字段是表 AND 定义为“AUTO_INCREMENT”的主键。 有了这两个要求,它应该返回该表的唯一编号。 不是全局唯一的表格。

查看文档的这一部分: http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html