我在尝试更新mysql的列值时遇到错误

时间:2019-11-26 14:20:39

标签: mysql relational-database

这是表格

enter image description here

我正在尝试将名称为city的所有London的(VARCHAR)的状态更新为(TINYINT)45。

这是我的查询

UPDATE supplier
SET status = 45
WHERE city = ‘ London‘;

这是我收到的错误消息,但看不到语法错误

enter image description here

结果应该是伦敦的所有城市名称都将具有状态45

2 个答案:

答案 0 :(得分:1)

问题在于您使用引号。 '不同。确保您使用正确的单引号(而不是花哨的unicode引号):

UPDATE supplier
SET status = 45
WHERE city = 'London';

查看引号here的不同之处。

答案 1 :(得分:1)

在MySQL和可能的许多其他RDMS中,反引号用于表和列标识符,尽管根本不是必需的...除非标识符是保留关键字或包含空格或其他特定字符({{3 }}。

另一方面,在插入语句,更新语句,where子句,...中,单引号始终用于字符串值。也经常用于约会。

这就是为什么,如建议的那样,您应该写:

UPDATE supplier
SET status = 45
WHERE city = 'London';