【发布时间】:2008-12-16 19:28:16
【问题描述】:
我可以在 MySQL 中获取复合键的 LAST INSERT ID() 吗?
【问题讨论】:
标签: mysql last-insert-id compound-key
我可以在 MySQL 中获取复合键的 LAST INSERT ID() 吗?
【问题讨论】:
标签: mysql last-insert-id compound-key
是的。一个表中不能有多个自增字段。
CREATE TABLE foo (
id1 int(11) NOT NULL auto_increment,
id2 int(11) NOT NULL default '0',
PRIMARY KEY (id1, id2)
);
INSERT INTO foo VALUES (DEFAULT, 2);
SELECT LAST_INSERT_ID(); -- returns 1, the value generated for id1
LAST_INSERT_ID() 仅返回声明为AUTO_INCREMENT 的列的值。没有函数可以返回系统生成的复合主键中的值。您应该已经知道该值,因为您只是在 INSERT 声明中给出了它。棘手的情况是触发器或其他东西覆盖了该值。
【讨论】: