给出以下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生成一个唯一的数字应该是安全的)
答案 0 :(得分:0)
如果您在上面显示,它将不会生成唯一标识符。
您需要有一个字段,该字段是表 AND 定义为“AUTO_INCREMENT”的主键。 有了这两个要求,它应该返回该表的唯一编号。 不是全局唯一的表格。
查看文档的这一部分: http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html