MySQL删除publication表数据报错Unknown column 'P001' in where clause,求解决
解决MySQL删除数据时"Unknown column 'P001'"的报错问题
这个问题是字符串类型字段在SQL查询里的常见小疏漏,很容易踩坑!
错误原因
你的publication表中pub_id字段是VARCHAR(4)类型(字符串类型),但你在删除语句里直接写了P001,没有用引号包裹。MySQL会把无引号的P001识别成列名,而不是你要匹配的字符串值,自然就会抛出Unknown column 'P001' in where clause的错误。
正确的删除语句
给字符串类型的条件值加上单引号(MySQL中单引号是标准写法,兼容性更好),修改后的语句如下:
DELETE FROM publication WHERE pub_id = 'P001';
额外提示
- 对于字符串类型(
VARCHAR/CHAR等)的字段,所有用于匹配的条件值都必须用单引号或双引号包裹; - 对于数值类型(
INTEGER/DECIMAL等)的字段,条件值不需要加引号,直接写数字即可(比如你要删除frequency=12的记录,写WHERE frequency=12就没问题)。
内容的提问来源于stack exchange,提问作者conor monahan
相关产品推荐
相关产品推荐

