使用PHP操作联结表

时间:2015-12-23 14:31:15

标签: php mysql many-to-many junction-table

我正在使用PHP创建应用程序,使用Mysql DB来管理数据。 表格是这样的:

user         purchasing      medicine
____         ________        ________
id_user      id_user         id_medicine
username     id_medic        item

在我更新用户和药品表后,我应该在购买(联汇表)中插入什么值? 我应该使用交易吗?

第二个问题是,联结表中的id_user和id_medic,索引还是唯一的?

对不起,我忘记了一个mysql。 提前致谢

1 个答案:

答案 0 :(得分:0)

  1. 您应首先插入medicine表。因为,如果正确设置数据库,purchasing.id_medic应该引用medicine.id_medicine,因此,如果之前没有添加purchasing,则插入id_medicine表会失败。 (是的,你应该使用交易,如果你认为在插入一些行后有可能回滚)。

  2. purchasing表中,id_userid_medic两者都应该是索引,但是它是否应该是唯一的,这取决于您的用例。例如:

    • 如果您认为任何用户只能购买一件商品,那么id_user应该是唯一的。

    • 如果您认为任何商品不能多次出售,id_medic应该是唯一的。

    • 如果您认为任何用户只能购买一次商品,那么id_userid_medic

    • 应该有一个独特的约束