【发布时间】:2021-01-01 12:43:04
【问题描述】:
我有一个表“客户端”,其中列“wipes”当前填充了 Y 或 N。我想将 Y 和 N 更改为 1 和 0。我正在尝试此查询并收到错误“未知列 'Y '在'where子句'中 我已经尝试过带反引号、不带反引号、单引号等的所有组合...为什么它认为“Y”是一列?
UPDATE client
SET wipes = `1`
WHERE wipes = `Y`;
谢谢!
【问题讨论】:
我有一个表“客户端”,其中列“wipes”当前填充了 Y 或 N。我想将 Y 和 N 更改为 1 和 0。我正在尝试此查询并收到错误“未知列 'Y '在'where子句'中 我已经尝试过带反引号、不带反引号、单引号等的所有组合...为什么它认为“Y”是一列?
UPDATE client
SET wipes = `1`
WHERE wipes = `Y`;
谢谢!
【问题讨论】:
我明白了,有点愚蠢。应该是
WHERE wipes LIKE 'Y';
那行得通。我不知道每个 sql 版本是否都一样。但我正在使用 phpMyadmin。
【讨论】:
也许你应该使用像这样的单引号
UPDATE client
SET wipes = 1
WHERE wipes = 'Y';
UPDATE `client` SET `wipes` = CASE
WHEN wipes= 'Y' THEN 1
WHEN wipes = 'N' THEN 0
END
【讨论】: