MySQL的获取相同的auto_increment值插入到另一(mysql Getting the

2019-11-04 09:13发布

这可能有一个非常简单的答案。 我已经做了很多数据库的东西了一会儿。 我试图从插入到另一个表中的值一个表得到AUTO_INCREMENT值。 有没有这样做的一个简单的方法。 对于如我这样做:

CREATE TABLE table_a (
id int NOT NULL AUTO_INCREMENT,
a_value  varchar(4),
PRIMARY KEY (id)
);

CREATE TABLE table_b (
id int NOT NULL,
b_value varchar(15),
FOREIGN KEY (id) REFERENCES table_a (id)
);

现在我想将值插入表中,但我想为表-A“身份证”的价值观和表-B是相同的。 到目前为止,我有:

INSERT INTO table_a VALUES (NULL, 'foobar');

但我不知道如何去从表-A提取auto_incermented“身份证”数到表-B的的“身份证”的价值。 我已经看过SELECT @id = LAST_INSERT_ID(),但不能让它开始工作。

Answer 1:

你不能这样做,在一次。 你必须先插入第一个表:

INSERT INTO table_a (a_value) VALUES ('foobar');

然后使用所生成的ID插入到第二:

INSERT INTO table_b (id, b_value) VALUES (@@IDENTITY, 'foobar');


Answer 2:

LAST_INSERT_ID()和不需要select语句的一部分。



文章来源: mysql Getting the same auto_increment value into another