重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你要订单表中两个字段引用地址表中的一个字段,那你就在订单表中创建两个外键就行了:
创新互联专注于平果网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平果营销型网站建设,平果网站制作、平果网页设计、平果网站官网定制、小程序开发服务,打造平果网络公司原创品牌,更为您提供平果网站排名全网营销落地服务。
ALTER TABLE order ADD CONSTRAINT address1 FOREIGN KEY (address_id) REFERENCES address;
ALTER TABLE order ADD CONSTRAINT address2 FOREIGN KEY (address_id) REFERENCES address;
你要删除的话:
delete from order where address1 = '1001' or address2 = '1001';
像这些数据,不建议做物理删除,也就是delete。你可以加一个状态字段,将它标识为无效就可以了。因为这些数据,对业务进行一些统计和数据分析都是有用的。再比如,我使用地址1下过一些订单,现在我搬家了,地址1就没用了,我要换另外一个地址。那我会删除地址1,再添加一个地址2,但我地址1的订单还是要看的吧,你总不能删除啊。而且在地址1的订单中,我要能看到地址1的地址信息。所以,这里对于地址删除,那就不能做delete了,只能做标识。标识无效后,只能代表地址在下单选择地址或一些其它操作的时候,这个无效的地址不显示,但在查看订单的时候,这个地址信息还是能显示出来的。
这个具体哪可以显示,哪不能显示,就要根据你的业务和实际情况来定了
mysql组合主码外码设置的方法步骤是。
1、设置mysql数据库密码[root@localhost]#mysqladmin-urootpassword"密码"。
2、Linux下MYSQL访问数据库。
3、访问mysql数据库命令:[root@localhost]#mysql-uroot-p--敲回车输入密码。
ALTER TABLE `table1` -- 修改表1
ADD CONSTRAINT `FK_t1_t2` -- 添加外键
FOREIGN KEY `FK_t1_t2` (`UID`) -- 外键(UID)
REFERENCES `table2` (`UID`) -- 关联表2(UID)
ON DELETE CASCADE -- 删除同步
ON UPDATE CASCADE; -- 更新同步