【发布时间】: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(参见上面的表单输入) NameAddressPhone
Categories 表具有以下列
-
ID(表中唯一) -
Category(varchar) -
Category_Ref(用于标识连接Instances_Categories表中的引用的数字)
Instances_Categories 表具有以下列:
-
ID(表中唯一) -
Instance_Ref(来自上面的表单输入) -
Category_Ref(与上面的Categories表相关)
如何制定INSERT 语句以便将数据插入到我的数据库中?我可以为每个表制定一个插入命令并从同一个“提交”按钮一个接一个地运行它们吗?以及如何让插入命令根据已选择的类别复选框动态将更多行插入Instances_Categories 表?我要扯头发了!
【问题讨论】:
-
您为每个插入创建一个。您需要使用
mysql_insert_id来获取 FK 的值。 php.net/manual/en/function.mysql-insert-id.php
标签: php mysql insert bulkinsert