Mysql 保留名称导致的Sql语法错误
我的sql中有语法错误 它与保留名称的使用有关(用户安全性)。我似乎不知道如何引用,有人能帮我解决这个问题吗Mysql 保留名称导致的Sql语法错误,mysql,Mysql,我的sql中有语法错误 它与保留名称的使用有关(用户安全性)。我似乎不知道如何引用,有人能帮我解决这个问题吗 ALTER TABLE `user` ADD FOREIGN KEY `security_check_id` REFERENCES `security_check`(security_check_id) #1064-Er是规则1中的“参考security\u check(security\u check\u id)”的gebruikte语法的基础 对不起,翻译不好 #1064-第1行的
ALTER TABLE `user` ADD FOREIGN KEY `security_check_id` REFERENCES `security_check`(security_check_id)
#1064-Er是规则1中的“参考security\u check
(security\u check\u id)”的gebruikte语法的基础
对不起,翻译不好
#1064-第1行的“REFERENCES
security\u check
(security\u check\u id)”中使用的语法有错误。请检查此答案,可能会有所帮助-
在您的情况下,请尝试-
ALTER表`user`添加外键(`security\u id`)引用`security`(`security\u id`)
请检查此答案,它可能会有所帮助-
在您的情况下,请尝试-
ALTER表`user`添加外键(`security\u id`)引用`security`(`security\u id`)
添加外键安全检查id
不正确如果安全检查id
是您希望引用的列,则必须将其括在括号中,即添加外键(安全检查id
)如果security\u check\u id
是您打算给FK起的名字,那么它后面应该是您希望检查的括号中的列
顺便说一句,没有列或表名是保留字,因此它们不需要转义添加外键
security\u check\u id
不正确如果security\u check\u id
是您希望引用的列,则必须将其括在括号中,即添加外键(security\u check\u id
)如果security\u check\u id
是您打算给FK起的名字,那么它后面应该是您希望检查的括号中的列
顺便说一句,所有列或表名都不是保留字,因此它们不需要转义显而易见的解决方案是避免为您自己的任何对象使用保留名。这样就不会有任何混乱。我相信你很容易就能想到一个稍微不同的名字。这是MySQL还是别的什么?添加引号等的方式在不同的数据库引擎之间是不同的。请添加相关标记。要在sqlserver中使用保留名称,您可以使用[]。例如:[安全性]显而易见的解决方案是避免为您自己的任何对象使用保留名称。这样就不会有任何混乱。我相信你很容易就能想到一个稍微不同的名字。这是MySQL还是别的什么?添加引号等的方式在不同的数据库引擎之间是不同的。请添加相关标记。要在sqlserver中使用保留名称,您可以使用[]。例如:[安全]它似乎不起作用:-您可以制作一个有效的吗?MySQL中引用的文档特别说明了无论如何必须使用括号。另外,我们还不能100%确定这是MySQL,尽管这似乎是可能的sql@james在这种情况下,请编辑您的问题以显示(您可以添加标记并更新描述)。另外,如果你告诉我们你看到的确切错误信息,那会有很大帮助。嘿@james,你错过了ADD。我已经更新了SQL,它正在工作。尝试更新的查询!它似乎不起作用:-你能做一个有效的吗?MySQL中引用的文档特别说明了无论如何必须使用括号。另外,我们还不能100%确定这是MySQL,尽管这似乎是可能的sql@james在这种情况下,请编辑您的问题以显示(您可以添加标记并更新描述)。另外,如果你告诉我们你看到的确切错误信息,那会有很大帮助。嘿@james,你错过了ADD。我已经更新了SQL,它正在工作。尝试更新的查询!