一尘不染

MySQL,将AUTO_INCREMENT传递给另一个表

sql

由于另一个人的回答正确,并且我有了解决我的问题的新思路(这与下面的情况并不完全一样),因此我启动了一个新线程。

同样的示例,cds.id是AUTO_INCREMENT,这两个表实际上没有任何关系,是否有任何方法可以将生成的ID发布到language表?

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的e表格,例如

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

阅读 218

收藏
2021-03-17

共1个答案

一尘不染

MySQL具有LAST_INSERT_ID()返回AUTO_INCREMENT最新值的值INSERT

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

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

2021-03-17