提问人:Brad Troll 提问时间:6/1/2023 更新时间:6/6/2023 访问量:79
MySQL中的“接近”CASCADE“和”接近“CONSTRAINTS”错误是什么意思?
What do "near "CASCADE"" and "near "CONSTRAINTS" error mean in MySQL?
问:
对于不正确使用sql术语,我深表歉意,我还是个新手。因此,我从关系模型中生成了一个ddl脚本,将其转换为MySQL并尝试“运行”(我运行它的应用程序称为phpMyAdmin),但是无论我做什么都失败了,因为这些错误不断发生:
无法识别的关键字。(在“CASCADE”附近,位置 203) 意外的推定。(在位置 211 的“CONSTRAINTS”附近)
如果有人有建议,我很乐意接受。 我将提供发生错误的实际代码行(这也是脚本的第一行):
DROP TABLE ad CASCADE CONSTRAINTS;
该脚本用于数据库。我试图在实体模型中“反向enngineer”它并生成不同的脚本,但相同的错误不断发生。
答:
0赞
Cortard
6/1/2023
#1
从MySQL文档中,我们可以看到您的命令语法是非法的。
实际上,在MySQL中,您不能像您想要的那样在级联上删除:
RESTRICT
并允许从其他数据库系统进行移植更容易。在MariaDB中,他们什么都不做。CASCADE
希望对你有所帮助。
评论
0赞
Brad Troll
6/1/2023
谢谢你!你对下一步该怎么做,或者如何“修复”它有什么建议吗?我意识到它可能非常初级,但我会很感激。无论哪种方式,感谢您回答我的问题!
0赞
Cortard
6/1/2023
很高兴,也许这可以帮助你
0赞
Jack D
6/6/2023
#2
@Brad Troll Error 意味着关键字“Cascade”和“Constraint”无法识别,因为它们用于在删除父表中的所有表后从子表中删除所有行。
尝试使用代码:
DROP TABLE广告;
它将运行,不会给您任何错误。
评论
CONSTRAINTS
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]