这是表格
我正在尝试将名称为city
的所有London
的(VARCHAR)的状态更新为(TINYINT)45。
这是我的查询
UPDATE supplier
SET status = 45
WHERE city = ‘ London‘;
这是我收到的错误消息,但看不到语法错误
结果应该是伦敦的所有城市名称都将具有状态45
答案 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';