【问题标题】:PHP/MySQL syntax to insert into multiple tables (many-to-many structure)插入多个表的 PHP/MySQL 语法(多对多结构)
【发布时间】:2013-06-12 14:42:00
【问题描述】:

我正在尝试将数据从一个表单插入到多个 MySQL 表中(使用 MYSQL 语法,虽然我将在某个时候迁移应用程序 MYSQLi - 这可能现在不相关,但我想我会这么说停止不可避免地跟随的“你应该在 MYSQLi 中这样做”cmets - 我知道我应该,而且我会......很快......但是由于一些我无法控制的原因,我还不能,我们仍然需要这个工作)。

本质上,我正在插入“多对多”表结构(即可以是许多类别的一部分的实例,以及可以包含许多实例的类别)。主表Instances,包含所有主要数据(在这种情况下,地图上的位置 - 例如“Acme Cafe”、“Lakeside Picnic Area”等);另一个表Categories 包括instances 表中所有地点的所有可能类别——例如,'Cafe'、'Pub'、'View Point' 等;和一个连接表Instance_Categories,将Instances 表中的地点连接到Categories 表中的类别。

PHP 表单具有以下字段:

  • Reference(一个 9 位随机生成的标识符,用于标识实例及其在 Instance_Categories 表中的多个类别)
  • Name(文本框)
  • Address(文本框)
  • Phone(文本框)
  • Tick-box 每个类别的字段(其中 8 个)。

Instances 表具有以下列

  • ID(表中唯一)
  • Reference(参见上面的表单输入)
  • Name
  • Address
  • Phone

Categories 表具有以下列

  • ID(表中唯一)
  • Category (varchar)
  • Category_Ref(用于标识连接 Instances_Categories 表中的引用的数字)

Instances_Categories 表具有以下列:

  • ID(表中唯一)
  • Instance_Ref(来自上面的表单输入)
  • Category_Ref(与上面的Categories 表相关)

如何制定INSERT 语句以便将数据插入到我的数据库中?我可以为每个表制定一个插入命令并从同一个“提交”按钮一个接一个地运行它们吗?以及如何让插入命令根据已选择的类别复选框动态将更多行插入Instances_Categories 表?我要扯头发了!

【问题讨论】:

标签: php mysql insert bulkinsert


【解决方案1】:

如果您想用一个查询插入多个表,则不能。

您可以使用事务,但只需运行多个查询,然后一天就结束。

【讨论】:

  • 我有一种无法完成的可怕感觉。什么是 PHP 中的“运行事务”(对不起,我来自 aspx.net 世界......)。我可以为每个表制定一个插入命令并从同一个“提交”按钮一个接一个地运行它们吗?以及如何让插入命令根据选择的类别复选框动态地将更多行插入到 Instances_Categories 表中?
  • 对不起,意思是程序不是事务:stackoverflow.com/questions/10075279/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 2010-12-07
  • 2016-10-19
  • 1970-01-01
相关资源
最近更新 更多