Creé una tabla con una clave principal y la habilité AUTO_INCREMENT
, ¿cómo consigo el uso de 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)
);
Aquí está la consulta que utilicé, probé "" y "1" para el primer valor, pero no funciona.
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');
Establezca el campo de incremento automático en NULL o 0 si desea que se asigne automáticamente por arte de magia ...
fuente
NULL
,0
el comportamiento de as puede verse afectado por NO_AUTO_VALUE_ON_ZERO .La
default
palabra clave funciona para mí:mysql> insert into user_table (user_id, ip, partial_ip, source, user_edit_date, username) values (default, '39.48.49.126', null, 'user signup page', now(), 'newUser'); --- Query OK, 1 row affected (0.00 sec)
Estoy ejecutando
mysql --version
5.1.66:fuente
Mira esta publicación
De acuerdo a esto
fuente
Veo tres posibilidades aquí que lo ayudarán a insertar en su tabla sin hacer un lío completo, pero "especificando" un valor para la columna AUTO_INCREMENT , ya que está proporcionando todos los valores, puede hacer una de las siguientes opciones.
Primer enfoque (proporcionando NULL ):
INSERT INTO test.authors VALUES ( NULL,'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' );
Segundo enfoque (proporcionando '' {comillas / apóstrofos simples} aunque le dará una advertencia):
INSERT INTO test.authors 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' );
Tercer enfoque (suministro predeterminado ):
INSERT INTO test.authors VALUES ( default,'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' );
Cualquiera de estos ejemplos debería ser suficiente al insertar en esa tabla, siempre que incluya todos los valores en el mismo orden en que los definió al crear la tabla.
fuente