【发布时间】:2013-01-10 12:12:48
【问题描述】:
假设这是我的桌子:
CREATE TABLE tab (
id INT AUTO_INCREMENT NOT NULL,
val VARCHAR(9),
KEY(id),
PRIMARY KEY (xx)
);
是否可以同时插入多行以使它们都获得相同的自动增量值?
以下方法有效,但会增加每个新行,而不管我们正在执行单个查询。
INSERT INTO tab (id,val) VALUES (LAST_INSERT_ID(),'a'), (LAST_INSERT_ID(),'b');
我怎样才能确保他们都在单个查询中收到相同的自动递增 ID?
【问题讨论】:
-
那种破坏了 auto_increment 的全部意义!如果您希望行共享一个公共 id,则使用自动递增 id 以外的东西来存储它。请注意,对于 MyISAM 引擎,任何自动增量只需要成为 PK 的一个组件。
标签: mysql innodb auto-increment