Php MYSQL添加约束错误
我的添加约束出现错误 我正在使用MYSQL工作台创建表 来自MYSQL工作台的消息错误: 错误代码:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在第1行的“添加约束”附近使用的正确语法 这可能只是我遇到的版本问题。我用的是5.2.4.7 错误: 22:47:35在更新级联时删除级联时添加约束Php MYSQL添加约束错误,php,mysql,sql,database,Php,Mysql,Sql,Database,我的添加约束出现错误 我正在使用MYSQL工作台创建表 来自MYSQL工作台的消息错误: 错误代码:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在第1行的“添加约束”附近使用的正确语法 这可能只是我遇到的版本问题。我用的是5.2.4.7 错误: 22:47:35在更新级联时删除级联时添加约束user\u contact\u ibfk\u 1外键(user\u id)引用user\u帐户(user\u id)。您的SQL语法有错误;检查与您的MySQL服务器版本
user\u contact\u ibfk\u 1
外键(user\u id
)引用user\u帐户(user\u id
)。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法,例如在第1行0.000秒处的“添加约束”user\u contact\u ibfk\u 1
外键(user\u id
)引用“user\u ac”
我能想到的唯一一件事是外键名可能会被使用,请尝试更改它
ALTER TABLE `user_contact`
ADD CONSTRAINT `user_contact_ibfk_stuff` FOREIGN KEY (`user_id`) REFERENCES `user_account` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
运行此帖子查看结果
SELECT @@SESSION.sql_mode;
或者直接运行以下命令:
SET SESSION SQL_MODE='NO_ENGINE_SUBSTITUTION';
原来是MYSQL工作台的一些内部错误。我使用了phpmyadmin,它运行得很好。用户帐户表呢?对不起,我现在添加了它。它对我有效。这可能是我的工作台版本的错误吗?我已使用其他错误信息更新了问题。听说workbench有问题,请尝试从phpmyadmin或get运行它。@user2901038您确定问题中发布的查询与您正在运行的查询相同吗?是的,我在复制/粘贴它以确保其正确性时,对其有100%的把握。我的查询中还有其他与约束无关的表。我应该添加它们吗?不,只需确保这些表是创建的表,您可能已经存在具有相同名称和不同列的表。或者最好删除这两个表,然后再次运行所有这些内容。我确实删除了所有表,然后再次运行查询。我似乎也犯了同样的错误。
SET SESSION SQL_MODE='NO_ENGINE_SUBSTITUTION';