如果我这样做
ALTER TABLE cp8_sales_order_flat
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id)
REFERENCES customers(id)
ON DELETE SET NULL
ON UPDATE CASCADE;
它会说它无法添加外键错误1215
如果我写的话
ALTER TABLE sales_flat_order
ADD FOREIGN KEY (customer_id) REFERENCES customers(id);
然后它添加FK和约束,但它设置为:restrict。
在我看来,这将允许正确的选择连接查询,但不允许删除或更新。为什么是这样?任何修复?
更新
其中一个原因可能是您用于ON DELETE SET NULL的列未定义为null。因此,请确保将列设置为默认值。
这是我认为的,因为我检查了其他所有内容,类型,整理,长度,属性
答案 0 :(得分:2)
我的列customer_id被设置为非null,而我在约束中说“on delete”设置为null,所以我称之为逻辑精神分裂症,就像我们有数千万失业者投票支持更多移民欧洲人。幸运的是,我可以重写约束,而不是政治。