nombre - ¿Cómo insertar datos en MySQL con auto incremento de la clave principal?
cómo generar código autoincrementable con nombre y letra php (4)
Mira esta publicación
De acuerdo a esto
No se especificó ningún valor para la columna AUTO_INCREMENT, por lo que MySQL asignó los números de secuencia automáticamente. También puede asignar explícitamente NULL o 0 a la columna para generar números de secuencia.
Creé una tabla con una clave principal y habilité AUTO_INCREMENT
, ¿cómo consigo que MYSQL use 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 he usado, he intentado "" 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'');
Para aprovechar la capacidad de autoincrementación de la columna, no proporcione un valor para esa columna cuando inserte filas. La base de datos le proporcionará un valor.
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''
);
Establezca el campo de incremento automático en NULL o 0 si desea que se le asigne automáticamente ...
La palabra clave default
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:
mysql Ver 14.14 Distrib **5.1.66**, for debian-linux-gnu (x86_64) using readline 6.1