我创建了一个具有主键的表并启用了该表AUTO_INCREMENT,如何使用MYSQL AUTO_INCREMENT?
AUTO_INCREMENT
CREATE TABLE IF NOT EXISTS test.authors ( hostcheck_id INT PRIMARY KEY AUTO_INCREMENT, instance_id INT, host_object_id INT, check_type INT, is_raw_check INT, current_check_attempt INT, max_check_attempts INT, state INT, state_type INT, start_time datetime, start_time_usec INT, end_time datetime, end_time_usec INT, command_object_id INT, command_args VARCHAR(25), command_line VARCHAR(100), timeout int, early_timeout INT, execution_time DEC(18,5), latency DEC(18,3), return_code INT, output VARCHAR(50), long_output VARCHAR(50), perfdata VARCHAR(50) );
这是我使用的查询,我尝试使用“”和“ 1”作为第一个值,但是它不起作用。
INSERT INTO test.authors VALUES ('1','1','67','0','0','1','10','0','1', '2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','', '/usr/local/nagios/libexec/check_ping 5','30','0','4.04159','0.102','1', 'PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','', 'rta=2.860000m=0%;80;100;0');
为了利用列的自动递增功能,在插入行时不要为该列提供值。数据库将为您提供一个值。
INSERT INTO test.authors ( instance_id,host_object_id,check_type,is_raw_check, current_check_attempt,max_check_attempts,state,state_type, start_time,start_time_usec,end_time,end_time_usec,command_object_id, command_args,command_line,timeout,early_timeout,execution_time, latency,return_code,output,long_output,perfdata ) VALUES ( '1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929', '2012-01-03 12:50:59','198963','21','', '/usr/local/nagios/libexec/check_ping 5','30','0','4.04159', '0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms', '','rta=2.860000m=0%;80;100;0' );