Я создал таблицу с включенным первичным ключом 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');
Установите для поля автоинкремента значение NULL или 0, если вы хотите, чтобы оно автоматически присваивалось магическим образом ...
источник
NULL
, поскольку0
на поведение пользователя NO_AUTO_VALUE_ON_ZERO может повлиять .У
default
меня работает ключевое слово: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)
Я использую
mysql --version
5.1.66:источник
Проверьте этот пост
Согласно этому
источник
Я вижу здесь три возможности, которые помогут вам вставить в вашу таблицу, не создавая полного беспорядка, но «указав» значение для столбца AUTO_INCREMENT , поскольку вы предоставляете все значения, которые вы можете использовать одним из следующих вариантов.
Первый подход (предоставление 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' );
Второй подход (поставка '' {Простые кавычки / апострофы}, хотя это даст вам предупреждение):
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' );
Третий подход (поставка по умолчанию ):
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' );
Любого из этих примеров должно хватить при вставке в эту таблицу, если вы включаете все значения в том же порядке, в каком вы определили их при создании таблицы.
источник