举个例子,商品表goods(id,goods_name)
销售表sale(id,goods_id,price....)
现在要求当商品没有被使用的时候,商品信息是可以被删除的,一旦被使用,比如被插入了销售表,那么商品信息就不能被删除了
怎么样才能做到这样的约束呢?总不能我每次删除前都去别的表搜索一下吧,外键约束是否可以解决这个问题?
------解决思路----------------------
从性能方面考虑,不建议用外键约束,
可以在sale.goods_id上建索引,检查是否有使用没问题的.
或者在goods表增加1列:是否启用,即不实际删除,改为不启用即可.
------解决思路----------------------
外键约束 绝对可以,不过你删除的话会出错,将错误换成 可以理解的 提示信息。
比如:“该商品已出库,不能删除”等等。