我尝试使用UPDATE时,一旦我按下GO,就会出现以下错误:


  1109-“字段列表”中未知的表“用户”


现在,由于我知道该表名并不是使用过的最好的唯一表名,因此我尝试通过以下语句更加具体:

UPDATE
    MyDatabase.user
SET
    MyDatabase.user.registeredAt = NOW()
WHERE
    MyDatabase.user.id = 3;


还是一样的错误。我在桌子周围用`或用phpmyadmin在一次按钮上为您构建的语句进行了尝试,但仍然相同。
由于更改名称不是一个选择,即使我知道这很糟糕,也没有其他选择,只能尝试让他找到该表。

我想念什么?

有关php和mySql的信息:


PHP版本:5.6.38
数据库客户端版本:libmysql-mysqlnd 5.0.11
服务器版本:10.1.36-MariaDB




编辑
我已经读过有关未正确安装mySQL的错误,该错误更常发生。因为我已经用XAMPP安装了整个软件包,所以不可能出现这个错误,不是吗?

最佳答案

首先,确保您有一个像这样的表:

select * from information_schema.tables where table_schema = 'MyDatabase' and table_name = 'user';




“ user”是一个保留关键字,因此您需要在表名两端加上反引号。

UPDATE
    MyDatabase.`user`
SET
    MyDatabase.`user`.registeredAt = NOW()
WHERE
    MyDatabase.`user`.id = 3;


当您的数据库名称也需要引用时,不要同时包含数据库名称和表名称。

这是错误的:

`databasename.tablename`


这是正确的:

`databasename`.`tablename`

关于mysql - MySQL更新语句:“字段列表”中未知的“表”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52842026/

10-16 23:17