Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql查询中获取case语句中的语法错误_Mysql - Fatal编程技术网

在mysql查询中获取case语句中的语法错误

在mysql查询中获取case语句中的语法错误,mysql,Mysql,我在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

我在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中正确吗

你漏掉了一个逗号

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 model1.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 model1.num
from def_table  model1

对于
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

注意:有时,格式化代码有助于发现这些错误。很难看到所有列何时都在一行中。

对于
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

注意:有时,格式化代码有助于发现这些错误。很难看到所有列何时都在一行中。

此select语句中有一个额外的列

select model1.release_date,model1.title,model1.detail,model1.num

此select语句中有一个额外的列

select model1.release_date,model1.title,model1.detail,model1.num

拉小提琴的速度很快,蓝脚怪!谢谢蓝脚怪,但如果“num”数据类型是enum,那会怎么样?@Java_新手我不明白你的问题。这不管用吗?拉小提琴的速度很快,蓝脚怪!谢谢蓝脚怪,但如果“num”数据类型是enum,那会怎么样?@Java_新手我不明白你的问题。这不管用吗?