Mysql查询问题 - 插入选择连接

时间:2013-06-03 07:44:42

标签: mysql join

我正在尝试对我的数据库进行查询,我想移动所有 eventcodes.PRIORITY = 1 g052013.WCODE = eventcodes.WCODE 的行,如您所见,我将上个月的所有行复制到新月。 我得到的错误是:#1136 - Column count doesn't match value count at row 1
我在表格中有相同数量的col。
我在这里做错了什么?
这是我的疑问:

insert into g062013
select g052013.pnumber,g052013.id,
g052013.Ccode,
g052013.WCODE,
g052013.ndate,
g052013.TIMECALL,
g052013.EventHandling,
g052013.Endtimecare,
g052013.User,
g052013.TIMEARRIAVAL,
g052013.FREEDATA,
g052013.sendtime from
g052013 RIGHT JOIN eventcodes ON g052013.WCODE=eventcodes.WCODE AND   eventcodes.PRIORITY='1' 
WHERE gyoman052013.EventHandling!=2

1 个答案:

答案 0 :(得分:3)

当您使用INSERT语句的隐式语法时,如果您没有指定列名,则值的数量必须与表中的列数匹配,否则您将收到错误消息

#1136 - Column count doesn't match value count at row 1

要解决此问题,您需要在保存值的位置显式定义列名称。前,

INSERT INTO tableName(col1, col2, col3)
SELECT val1, val2, val3
FROM tableName