2013-10-03 63 views
1

更新**謝謝大家的幫助。非常感謝。這是一個正在使用的觸發器,而不是Insert的問題。我對插入物進行了洞察,並忘記了檢查扳機的全部內容。MySQL:列數不匹配值計數


我不能爲我的生活出了問題,這個MySQL插入:

INSERT INTO campaigns (camp_id,camp_name,camp_desc,camp_created,camp_creator,camp_start,camp_end,camp_active) 
VALUES (null,'Clinic','2013 Clinic',now(),'user','2013-10-21','2013-10-25',1); 

表:

Field   Type   Null Key Default    Extra 
=========================================================================================== 
camp_id   int(12)  NO  PRI    auto_increment 
camp_name   varchar(32) NO    
camp_desc   varchar(255) YES   
camp_created timestamp  NO  CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP 
camp_creator varchar(16) NO    
camp_start  date   NO    
camp_end  date   NO    
camp_active   int(1)  NO   

任何幫助表示讚賞。

每請求:SHOW CREATE TABLE活動:

CREATE TABLE `campaigns` 
(`camp_id` int(12) NOT NULL AUTO_INCREMENT, 
    `camp_name` varchar(32) NOT NULL, 
    `camp_desc` varchar(255) DEFAULT NULL, 
    `camp_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP 
     ON UPDATE CURRENT_TIMESTAMP, 
    `camp_creator` varchar(16) NOT NULL, 
    `camp_start` date NOT NULL, 
    `camp_end` date NOT NULL, 
    `camp_active` int(1) NOT NULL, 
    PRIMARY KEY (`camp_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 
+0

缺乏引號的,我懷疑 – Strawberry

+0

只是檢查:這是你的實際查詢,複製和粘貼,準確的信? –

+4

可能相關,如果您在此表上有觸發器:http://stackoverflow.com/questions/10967063/mysql-column-count-doesnt-match-value-count-but-the-count-does-match?rq = 1 –

回答

5

你需要你的日期

INSERT INTO campaigns(camp_id, camp_name, camp_desc, 
         camp_created, camp_creator, camp_start, 
         camp_end, camp_active) 
VALUES (null, 'Clinic', '2013 Clinic', 
     now(), 'user', '2013-10-21', 
     '2013-10-25', 1); 

各地報價如果你仍然有錯誤,尤其是"Column Count Doesn't Match Value Count"錯誤,那麼最可能的解釋是嘗試執行另一個插入的觸發器。

+2

任何洞察爲什麼這會導致「列數不匹配值計數」錯誤?所有它會做的沒有引號是試圖將'1982'和'1978'整數分別插入'camp_start'和'camp_end',否? (假設我的數學是正確的,但你明白了) –

+0

不知道爲什麼這個錯誤實際上彈出:) –

+0

我原來有他們,並在我的擺弄中被拿走。 :-)我將它們添加回問題中,以避免混淆。我仍然遇到同樣的錯誤,並在日期附近引用了引號。 –

0

除了由克林斯曼回答錯誤,你也將面臨哪裏出現了一個名爲列您已聲明爲NOT NULLcamp_id和你插入NULL給它的問題。

IF camp_id是自動遞增然後 試試這個::

INSERT INTO campaigns(camp_name, camp_desc, 
         camp_created, camp_creator, camp_start, 
         camp_end, camp_active) 
VALUES ('Clinic', '2013 Clinic', 
     now(), 'user', '2013-10-21', 
     '2013-10-25', 1); 
+0

中指出它是...還有另一個問題。 camp_id是一個auto_increment。我試過把null,',並且完全忽略這個字段,仍然得到相同的錯誤。 –

+0

已更新我的回答,請檢查 –

+0

做出上述更改,但不幸的是,相同問題。 –

相關問題