MySQL,将AUTO_INCREMENT传递给另一个表

时间:2012-11-09 18:19:02

标签: mysql sql

由于另一个被正确回答并且我有一个新想法来解决我的问题(这不是真的像下面的情况)我开始一个新的线程。

同样的例子,cds.id是AUTO_INCREMENT,这两个表实际上没有任何关系,有没有办法将生成的id发布到languages表中?

Table for CDs (cds):
id | type
-----------------------
1  | CD  
2  | LP  
3  | CD  

Table for names:
cd_id | language | name
-----------------------
1     | fi       | AAA
1     | de       | AAACHTUNG
3     | en       | CCC

现在SELECT真的很简单,结构更好, 如果我现在有用于创建CD的电子表格,例如

<input... > = the name -> 'best of XX'
<select...> = language -> 'en'
<select...> = type     -> 'CD' 

我做了一个帖子,我该怎么做多次插入? 这些表的插入应该是......

INSERT INTO cds ('', 'CD');
INSERT INTO languages ('*the generated id in table above*', 'en', 'best of XX');

2 个答案:

答案 0 :(得分:3)

MySQL有LAST_INSERT_ID(),它返回最新AUTO_INCREMENT的{​​{1}}值。

INSERT

大多数语言都有此功能的包装器。例如,在PHP中它是mysqli_insert_id()

答案 1 :(得分:0)

尝试

INSERT INTO languages (last_insert_id(), 'en', 'best of XX');

Last_Insert_Id获取自动生成的id列的最后一个自动增量值