我在mysql中的case语句中遇到语法错误。
1064-您的sql语句中有错误。
insert into
abc_table(release_date,title,detail,num)
select model1.release_date,model1.title,model1.detail,model1.num
CASE
WHEN model1.num= 0 THEN 3
WHEN model1.num= 1 THEN 1
WHEN model1.num= 2 THEN 2
END AS model1.num
from def_table model1
这个语法在mysql中正确吗
最佳答案
您有两个model1.num
列:
insert into abc_table(release_date,title,detail,num)
select model1.release_date,
model1.title,
model1.detail,
model1.num -- <-- extra
CASE
WHEN model1.num= 0 THEN 3
WHEN model1.num= 1 THEN 1
WHEN model1.num= 2 THEN 2
END AS num
from def_table model1
您的代码应为:
insert into abc_table(release_date,title,detail,num)
select model1.release_date,
model1.title,
model1.detail,
CASE
WHEN model1.num= 0 THEN 3
WHEN model1.num= 1 THEN 1
WHEN model1.num= 2 THEN 2
END AS num
from def_table model1
注意:有时,格式化代码格式将有助于发现这些错误。当所有列都排成一行时,可能很难看清。
关于mysql - 在mysql查询中的case语句中获取语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14376610/