SQL插入自动增量值

时间:2013-04-18 22:10:51

标签: mysql insert foreign-keys primary-key auto-increment

我目前正在开发一个数据库,它将语句存储在2个表中,并且有另一个表将语句链接在一起。 前两个表自动递增每个条目上的主ID,但是我需要知道已经给出的新ID以将其输入到链接它们的表中。

Table 1
SID     | Statement         | Language
1   | Have a cup of coffee      | English
2   | Have a cup of green tea       | English

Table 2
AID | Action
1   | recycle the cup
2   | feel full of cafine
3   | throw away the cup
4   | feel healthy
5   | jump

Table 3 - relationships

SID | AID
1   | 1
1   | 2
1   | 3
2   | 1
2   | 3
2   | 4

所以一个例子是:

INSERT INTO actions(Action) VALUES ('Go to the pub');
INSERT INTO statements(statement, Language) VALUES ('Have a pint', 'English');

关系就是这样,知道这个例子的自动增量值是3和6:

INSERT INTO Relationships(SID,AID) VALUES (3,6);

我需要将值3和6作为变量插入,例如:

INSERT INTO Relationships(SID,AID) VALUES (id1, id2);

1 个答案:

答案 0 :(得分:1)

试试这个

INSERT INTO actions(Action) VALUES ('Go to the pub');
SET @aid = LAST_INSERT_ID();

INSERT INTO statements(statement, Language) VALUES ('Have a pint', 'English');
SET @sid = LAST_INSERT_ID();

INSERT INTO Relationships(SID,AID) VALUES (@sid,@aid);