无法从MySQL删除记录。错误表示列不存在,当它明确表示时

时间:2013-06-23 20:18:37

标签: mysql phpmyadmin

这很奇怪..

我正在使用PHPMyAdmin来查看表格。 [编辑:在SQLYog中完全相同。]我选择该表中的一条记录,然后单击“删除”。然后我得到一个错误,说该列(在这种情况下是“users_id”,它是一个自动增量主键)不存在。然而..当我为同一个信息运行一个select查询时,它会返回正确的记录。

所以,这是我正在使用的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是如何)。

1 个答案:

答案 0 :(得分:1)

好的......要关闭它。发现了问题。但是暂时把它留在这里,为了别人的利益分享答案。

有一个触发器无法正常工作。如果删除了此表中的记录,则触发器实际上是从另一个表中删除数据。显然,该触发器中存在错误。然而.. MySQL没有引用错误 - 而只是在这个删除上抛出一个错误。有点不太好。但是......认为这可能有助于其他人解决这个问题。

希望这至少有点帮助。