更新** 感谢大家的帮助。非常感谢。这是一个正在使用的触发器,而不是Insert的问题。我在插入物上看到了隧道,忘了检查触发器。
我不能为我的生活找出这个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 :(得分: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"
错误,则最可能的解释是尝试执行另一次插入的触发器。
答案 1 :(得分: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);