MySQL ADD CONSTRAINT不会创建RESTRICT规则

时间:2019-07-25 15:34:30

标签: mysql

我需要使用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

谢谢。

1 个答案:

答案 0 :(得分:0)

因此,无论出于何种原因,正确的查询都是

ALTER TABLE smartphone_model_work 
ADD CONSTRAINT SmartphoneMW_Work
FOREIGN KEY(SmartphoneWorkID)
REFERENCES smartphone_work(SmartphoneWorkID);

即要创建RESTRICT,请勿使用RESTRICT关键字。看起来是某种错误。