Unknown column ‘oMIbw5H29LXtmAUjSSm7ZrymASUI‘ in ‘where clause‘
SELECT * FROM `user`
WHERE `we_chat_open_id` = oMIbw5H29LXtmAUjSSm7ZrymASUI;
[语句1]:
SELECT * FROM `user`
WHERE `we_chat_open_id` = oMIbw5H29LXtmAUjSSm7ZrymASUI
Unknown column 'oMIbw5H29LXtmAUjSSm7ZrymASUI' in 'where clause'
TraceId : 0abb7ede17290775850334184efbc9
we_chat_open_id varchar(255) null,
create table user
(
id int auto_increment
primary key,
created_date datetime null,
last_modified_date datetime null,
avatar varchar(1000) null,
inviter_id int null,
last_login_date datetime null,
nickname varchar(50) null,
refresh_time datetime null,
remark text null,
remark_name varchar(255) null,
status int null,
type int null,
we_chat_open_id varchar(255) null,
we_chat_subscribe int null,
we_chat_union_id varchar(255) null
)
engine = MyISAM;
在你提供的 SQL 语句中,出现了以下错误:
Unknown column 'oMIbw5H29LXtmAUjSSm7ZrymASUI' in 'where clause'
问题原因:
错误的原因是 oMIbw5H29LXtmAUjSSm7ZrymASUI
被 MySQL 识别为一个列名,而不是一个值。
在 SQL 中,字符串值需要使用单引号或双引号括起来。由于你在 WHERE
子句中没有使用引号,MySQL 将其视为列名,并提示该列不存在。
正确的 SQL 语句:
你需要将 oMIbw5H29LXtmAUjSSm7ZrymASUI
用引号括起来,这样 MySQL 才会将其识别为一个字符串值,而不是列名:
SELECT * FROM `user`
WHERE `we_chat_open_id` = 'oMIbw5H29LXtmAUjSSm7ZrymASUI';
解释:
we_chat_open_id
是你要查询的列。'oMIbw5H29LXtmAUjSSm7ZrymASUI'
是你要匹配的字符串值。
加上引号后,查询将会正确执行。