高分求救:请问在mysql中怎样使两个表有参照完整性约束呢?

weiming820223 2004-03-30 10:57:37
近来在做购手车时,遇到一个问题,就是其中有两个表需要有参照完整性约束,目的是使其中一个父表的记录被删除时,使得其子表与父表相应的记录也都删除。
例如:表orders(订单表),有字段(orderid int unsigned not null auto_increment primary key,amount float(6,2))等等字段。
表order_items(每本书的订单子项目表),有字段(orderid,isbn,item_price,quantity)等字段,其中isbn是书的唯一区别码,quantity代表在某一订单某本书被订购的数量.
现在就是要实现当已经完成的订单被删除时,使得依赖于它的order_items表中的相应记录也要被删除,请问在mysql中应该用什么方法实现呢,恳请举例说明!!!!
...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikespook 2004-03-31
  • 打赏
  • 举报
回复
mysql似乎没提供这个功能~~~~
hahawen 2004-03-31
  • 打赏
  • 举报
回复
楼上说的对。

并且在后台管理程序中,加一个约束检查功能,隔断时间运行一次,确认一下数据的完整性问题。有错误也可以及时更正。
leyan728 2004-03-31
  • 打赏
  • 举报
回复
我建议你使用两次删除,
首先查找订单表要删除数据的isbn,
然后删除字表里面的数据,
接着删除订单表里面的数据.
如果用一条sql语句来视线的话,我就不是很清楚了!
我的sql很差!
weiming820223 2004-03-31
  • 打赏
  • 举报
回复
谢谢回复,用删除两次的方法也可以。
但我就知道mysql中有InnoDB类型的表可以支持这种约束性,但是实际应用可不知了。
有待高手指点迷津。。。。。。。
xuzuning 2004-03-31
  • 打赏
  • 举报
回复
先删order_items
再删orders

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧