多个插入查询

时间:2010-11-10 04:41:43

标签: php mysql phpbb3

我有三个基本上级联的表,例如:

  • 主题
  • 部分(参考主题ID)
  • 子部分(引用主题id和部分ID)

编写mysql语句的最佳方法是创建初始主题/ section / subsection,这样我就可以获取新创建的行的id(auto_incremented)并使用它们将它们插入到后两个中?

修改的 我正在使用phpbb3,dunno如果这有很大的不同,但我通常使用$ db-sql_query()函数

3 个答案:

答案 0 :(得分:1)

您可以使用mysql_insert_id()来获取最后一个插入ID。有关详细信息,请参阅reference

答案 1 :(得分:1)

从父母那里开始 然后您可以在SELECT:

中使用LAST_INSERT_ID()或INSERT
INSERT INTO TOPIC
  (topic_id, topic)
VALUES (DEFAULT, $topic);

INSERT INTO SECTION
  (topic_id, section)
SELECT topic_id, $section
  FROM TOPIC
 WHERE topic = $topic

INSERT INTO SUBSECTION
  (section_id, topic_id, subsection)
SELECT section_id, topic_id
  FROM SECTION 
 WHERE section = $section

此示例假定TOPIC.topic_idSECTION.section_idSUBSECTION是auto_increment,主键列。

答案 2 :(得分:0)

据我所知,只有一种方式,即自上而下 要在某个部分中添加子部分,您必须已插入一个部分 要将主题添加到子部分,请确保先添加子部分 在途中,您将跟踪最后插入的ID(如果您刚刚创建它),以便将其提供给下一个实体。