我创建了一个带有主键的表,并启用了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)
);

这是我使用的查询,我try 了""和"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相关问答推荐

如何让Docker MySQL使用Unicode(utf-8)和初始化脚本?

找出同一表中列A中的每个值在列B中出现的次数

比较2个mysql json数据类型列

Python - 执行原始 SQL 时获取更新查询 (Mysql) 的结果

如何在sql中包含0作为计数?

如何创建一个列,该列在另一个表中具有值的计数?

如何编写按天数汇总值的sql查询?

过滤查询结果

MySQL Join 查询位置从订单

MySQL:从 n 个关系表中 Select 所有具有 MAX() 值的行

MySQL 查询组按日期(12 小时间隔)

MySQL查询根据同一表中其他字段的值更新表中的字段

使用case查询并更新最后一条记录

更改整数时间到日期格式 MM/DD/YY,如 python 中的 datetime.fromtimestamp

MySQL使用多列 Select 重复记录

通过数据库级​​别本身的查询反序列化

MySql 以秒为单位的两个时间戳之间的差异?

MySQL - 如何在 INSERT 语句中将字符串值解析为 DATETIME 格式?

在另一个 where 语句(子查询?)中使用一个 sql 查询的结果

Python 是否支持 MySQL 准备好的语句?