mysql将相同的auto_increment值转换为另一个

时间:2010-11-28 15:23:31

标签: mysql insert foreign-key-relationship auto-increment

这可能有一个非常简单的答案。我已经做了很多数据库的东西了一段时间。我试图从一个表中获取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)
);

现在我想在表中插入值,但我希望table_a和table_b的'id'值相同。到目前为止我有:

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

但我不知道如何将table_a中的auto_incermented'id'数字提取到table_b的'id'值。我查看了SELECT @id = LAST_INSERT_ID()但无法使其工作。

2 个答案:

答案 0 :(得分:0)

你不能马上做到这一点。您必须先插入第一个表格:

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

然后使用生成的id插入第二个:

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

答案 1 :(得分:0)

LAST_INSERT_ID(),不需要select语句部分。