mysql - 如何在多个表中插入数据

标签 mysql database

我已经查看了关于 SO 的其他问题,但我似乎无法理解它是如何工作的。我正在建立一个枪支在线商店,该商店将对枪支和相关元素进行分类。我遇到了两个问题-

问题 1

在这个问题中,我有一个添加产品表单,其中产品分为两部分;第一个是主要属性,第二个是次要属性。这是测试表单的 SS:

enter image description here

例如,某些枪支具有该型号的八种不同变体。它可以在枪管长度、枪托样式、子弹口径尺寸和其他特征上有所不同。因此,我将在页面顶部显示主要属性,并在图表中列出列出次要属性的所有子模型。

主要属性是该类别中的每个产品肯定具有的属性。次要属性是某些产品将具有的属性。因此,当填写并提交表格时,我希望数据一次性插入到所有表格中。这是我的表格:

enter image description here

问题 2

我的 SECONDARY ATTRIBUTES 表的创建方式我可以一次添加一个属性。在上面的屏幕截图中有八个次要属性,我是否会创建一个循环,每次循环八次插入数据?希望这是有道理的,如果没有,我会详细介绍。

请注意,我使用的是 PHP/MySQL。

编辑

我采纳了每个人的建议并尝试使用这些建议来设计我的数据库。请看看我所做的是否可以有效地工作。我正在学习 one->one、one->many、many->many 等的简单概念……我看到的唯一可能是 one->one 的是制造商的产品。这看起来正确吗?我花了很多时间试图使它成为最好的,我感谢每个人的反馈/批评。下面是我的新模式:

enter image description here

谢谢,

最佳答案

  1. 您不能“一次性”插入多个表,但您可以做次优的事情:将插入视为单个事务的一部分,这样如果出现问题,无论哪个部分已经完成的工作将被取消。

  2. 一条语句可以插入多条记录:http://www.electrictoolbox.com/mysql-insert-multiple-records/

关于mysql - 如何在多个表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628478/

相关文章:

php - 在 codeigniter 中同时更新两个表

php - 为什么 PHP 中的日期时间到时间戳转换不起作用?

database - 如何每天有效地存储 1B 的新行并有可能进行查询/索引?

database - Selenium 从哪里获取数据来测试单元?

mysql - 如何让 mysql 记录在 30 分钟后超时?

mysql - 按周检查的 SQL 查询

PHP MySQL : Select column and add last current value with a new one

database - 从数据库的所有表中删除所有记录

mysql - SQL根据条件更新其他表中的列

mysql - 在一行中存储对多个表的引用的最佳方式?