我如何设置和填充一个关系数据库插入几行在一个时间


MySQL/PHP How do I set up and fill a relational database to insert a couple of rows at a time?

所以我有一个网页网站,HQ用户可以填写表格,详细介绍其在全国25个地点之一(称为单位)。还有一个页面,他们的总部用户可以填写一个表格,提供147家供应商之一的详细信息,这些供应商可能提供也可能不提供某些单位。

我的问题是,以一种简单而有意义的方式将单位与供应商联系起来的最佳方式是什么?

显然,我可以设置一个表单,让你选择单个单位和单个供应商,但这对总部用户来说将是乏味和耗时的,因为一些单位可能由50多个供应商提供。还有其他更聪明的方法吗?

有单独的表连接两个

unit_suppliers

unit_id,supplier_id

,主键为unit_idsupplier_id的组合

或在单位表中有一个suppliers字段,该字段包含该单位的供应商id的逗号分隔字符串

对于第一种情况,要获取一个单位的供应商,sql看起来像

SELECT * FROM suppliers WHERE id IN (SELECT supplier_id FROM unit_suppliers WHERE unit_id='$UnitID')

($UnitID是包含units id的php变量)

第二次你会做

SELECT * FROM suppliers WHERE find_in_set(id,(SELECT suppliers FROM units WHERE id='$UnitID')) <> 0

然后在您的表单中有一些方法选择多个供应商为一个单位,并插入相应的数据库