我需要使用RESTRICT规则向MySQL表添加外键,这确实发生了一些奇怪的事情:
当我这样做时:
ALTER TABLE smartphone_model_work
ADD CONSTRAINT SmartphoneMW_Work
FOREIGN KEY(SmartphoneWorkID)
REFERENCES smartphone_work(SmartphoneWorkID)
ON DELETE RESTRICT;
它使用“ NO ACTION”规则创建外键,而我需要“ RESTRICT”。但是当我这样做时:
ALTER TABLE smartphone_model_work
ADD CONSTRAINT SmartphoneMW_Work
FOREIGN KEY(SmartphoneWorkID)
REFERENCES smartphone_work(SmartphoneWorkID)
ON DELETE CASCADE;
它将按预期方式创建“ CASCADE”约束。
那么如何创建RESTRICT规则?
我的MySQL版本是5.7.20
谢谢。
答案 0 :(得分:0)
因此,无论出于何种原因,正确的查询都是
ALTER TABLE smartphone_model_work
ADD CONSTRAINT SmartphoneMW_Work
FOREIGN KEY(SmartphoneWorkID)
REFERENCES smartphone_work(SmartphoneWorkID);
即要创建RESTRICT,请勿使用RESTRICT关键字。看起来是某种错误。