求从Sakila数据库查询first_name=TOM记录的正确MySQL语法
解决MySQL 1064语法错误:查询Sakila数据库中first_name为TOM的记录
你的SQL语句存在两个语法问题,导致触发1064错误:
SELECT * FROM sakila.actor;末尾的分号是多余的,分号会终止当前SQL语句,使得后续的WHERE子句被视为独立的无效语句,这是错误提示指向WHERE first_name = "TOM"的核心原因。- 字符串类型的条件值
TOM未用单引号包裹,MySQL中字符串常量必须用单引号(标准写法),否则会被解析为列名,引发语法错误。
正确的SQL语句
SELECT * FROM sakila.actor WHERE first_name = 'TOM';
可选:忽略大小写的查询
如果需要匹配所有大小写形式的名字(如Tom、tom、TOM),可以使用LOWER()函数统一转换为小写后匹配:
SELECT * FROM sakila.actor WHERE LOWER(first_name) = 'tom';
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

