1

更新** 感谢大家的帮助。值得赞赏。这是一个正在使用的触发器,而不是插入的问题。我在插件上看到了隧道,忘记了检查触发器。


我一生都无法弄清楚这个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
4

2 回答 2

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"错误,那么最可能的解释是尝试执行另一个插入的触发器。

于 2013-10-03T17:50:29.413 回答
0

除了 juergen 回答的错误之外,您还将面临一个问题,即您有一个名为的列camp_id,您已声明该列NOT NULL并插入NULL到该列中。

如果 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);
于 2013-10-03T17:57:00.557 回答