MySQL 更新语句:未知 'table' 'field list'
MySQL Update Statement: Unknown 'table' in 'field list'
当我尝试使用 UPDATE
时,我一点击 GO 就出现以下错误:
1109 - Unkown table 'user' in 'field list'
既然我知道这个 table 名字不是最好的和唯一的,我试着用我的声明更具体一点:
UPDATE
MyDatabase.user
SET
MyDatabase.user.registeredAt = NOW()
WHERE
MyDatabase.user.id = 3;
还是一样的错误。我尝试在 table 周围加上 ` 或使用 phpmyadmin 为您构建的语句一键按下但仍然相同。
由于更改名称不是一个选项,即使我知道这很糟糕,也没有其他选择,只能试图让他找到 table.
我错过了什么?
关于php和mySql的信息:
- PHP-版本:5.6.38
- 数据库客户端版本:libmysql - mysqlnd 5.0.11
- 服务器版本:10.1.36-MariaDB
编辑
当 mySQL 没有正确安装时,我读到了一个错误,这个错误经常发生。因为我已经用 XAMPP 安装了整个包,所以不可能有这个错误,不是吗?
首先,请确保您有一个 table 命名为:
select * from information_schema.tables where table_schema = 'MyDatabase' and table_name = 'user';
`user´ 是保留关键字,因此您需要用反引号将您的 table 名称引起来。
UPDATE
MyDatabase.`user`
SET
MyDatabase.`user`.registeredAt = NOW()
WHERE
MyDatabase.`user`.id = 3;
当您的数据库名称也需要引用时,不要同时包含数据库名称和 table 名称。
这是错误的:
`databasename.tablename`
这是对的:
`databasename`.`tablename`
当我尝试使用 UPDATE
时,我一点击 GO 就出现以下错误:
1109 - Unkown table 'user' in 'field list'
既然我知道这个 table 名字不是最好的和唯一的,我试着用我的声明更具体一点:
UPDATE
MyDatabase.user
SET
MyDatabase.user.registeredAt = NOW()
WHERE
MyDatabase.user.id = 3;
还是一样的错误。我尝试在 table 周围加上 ` 或使用 phpmyadmin 为您构建的语句一键按下但仍然相同。 由于更改名称不是一个选项,即使我知道这很糟糕,也没有其他选择,只能试图让他找到 table.
我错过了什么?
关于php和mySql的信息:
- PHP-版本:5.6.38
- 数据库客户端版本:libmysql - mysqlnd 5.0.11
- 服务器版本:10.1.36-MariaDB
编辑 当 mySQL 没有正确安装时,我读到了一个错误,这个错误经常发生。因为我已经用 XAMPP 安装了整个包,所以不可能有这个错误,不是吗?
首先,请确保您有一个 table 命名为:
select * from information_schema.tables where table_schema = 'MyDatabase' and table_name = 'user';
`user´ 是保留关键字,因此您需要用反引号将您的 table 名称引起来。
UPDATE
MyDatabase.`user`
SET
MyDatabase.`user`.registeredAt = NOW()
WHERE
MyDatabase.`user`.id = 3;
当您的数据库名称也需要引用时,不要同时包含数据库名称和 table 名称。
这是错误的:
`databasename.tablename`
这是对的:
`databasename`.`tablename`