1

由于另一个问题得到了正确的回答,并且我有了解决问题的新想法(这与下面的情况不太一样),我开始了一个新线程。

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

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');
4

2 回答 2

3

MySQLLAST_INSERT_ID()返回AUTO_INCREMENT最新的值INSERT

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

大多数语言都有这个函数的包装器。例如,在 PHP 中它是mysqli_insert_id().

于 2012-11-09T18:23:19.177 回答
0

尝试

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

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

于 2012-11-09T18:24:22.753 回答