“insert ... where not exists”语句中的列名重复

时间:2012-03-08 10:29:25

标签: mysql

以下是一个较大的数据库补丁的一部分,该补丁涉及角色扮演角色与其技能相关联的表格。我想要的是,从现在开始,不仅是他们所拥有的技能,还有他们没有的技能(计数为0)和他们不得拥有的技能(计数为-1)。

insert into char2skill select * from 
(select null, 23, 23, -1, '') as foo where not exists 
(select * from char2skill where `char`=23 and skill=23);

脚本在此行崩溃(字符#23与此处的技能#23相关联),说

1060 - 重复列名称'23'

我想这是我用来定义应该插入的值的嵌套select语句,但我不知道如何修复它??

MySQL版本是5.0.51a

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试添加一些fnurrps“`”围绕技能

insert into char2skill select * from 
(select null, 23, 23, -1, '') as foo where not exists 
(select * from char2skill where `char`=23 and  `skill`=23);