这很奇怪..
我正在使用 PHPMyAdmin 查看表格。 [编辑:在 SQLYog 中执行完全相同的操作。] 我选择该表中的一条记录,然后单击“删除”。然后我收到一条错误消息,指出该列(在本例中为“users_id”,它是自动增量主键)不存在。然而..当我对相同的信息运行选择查询时,它会返回正确的记录。
所以,这是我正在使用的 SELECT 查询,它可以完美地找到记录:
select * from users where users_id = 53
没有引号,什么都没有。并且它返回记录没有问题。我会在屏幕截图中向您展示,但即使我有声誉,系统也不允许我发布图像。 (呃)
但是,可以通过单击“删除”和“执行”或直接输入 SQL 来执行此操作:
delete from users where users_id = 53
..你会得到一个错误:
Error
SQL query:
DELETE FROM `goat-dev`.`users` WHERE `users`.`users_id` =53
MySQL said: Documentation
#1054 - Unknown column 'users_id' in 'where clause'
很明显有些事情不对劲......但我只是不明白是什么。有什么建议吗?
我以具有完全权限的“root”身份登录。我已经进行了四重检查,以确保我的权限没有限制(不知道 root 如何可以)。
最佳答案
好的..要结束这个了。发现问题了。但为了其他人的利益,暂时将其留在这里分享答案。
有一个触发器无法正常工作。如果该表中的记录被删除,则触发器实际上是从另一个表中删除数据。显然该触发器有错误。然而.. MySQL 并没有引用该错误 - 而只是在删除时抛出错误。有点不乖。但是..认为这可能会帮助其他遇到此问题的人。
希望这至少有一点帮助。
关于mysql - 无法从 MySQL 中删除记录。错误说列不存在,但它显然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17264924/