如何将数据插入具有自动递增主键的MySQL?

我创建了一个具有主键的表并启用了该表AUTO_INCREMENT,如何使用MYSQL 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'

);

以上是 如何将数据插入具有自动递增主键的MySQL? 的全部内容, 来源链接: utcz.com/qa/426429.html

回到顶部