相关疑难解决方法(0)

如何将数据插入具有自动递增主键的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)
);
Run Code Online (Sandbox Code Playgroud)

这是我使用的查询,我已尝试""和"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 …
Run Code Online (Sandbox Code Playgroud)

mysql insert

68
推荐指数
5
解决办法
24万
查看次数

如果存在则更新 MySQL

我正在尝试更新一行(如果存在),如果它不存在,那么我想在表中执行插入操作。picture.id 和 picture.picturepath 是唯一的键。我看过一些例子,但我不确定我做错了什么。

我遇到过重复密钥更新,不确定这是否与我想要实现的目标相关。

Error message: 1064- You have an error in your SQL syntax near 'UPDATE picture SET picture.picturecontent = ipicturecontent WHERE picture.id at line 5"


    IF EXISTS( SELECT * FROM picture WHERE picture.id = ipictureid 
    AND picture.picturepath = ipicturepath) THEN

    UPDATE picture 
    SET picture.picturecontent = ipicturecontent
    WHERE picture.id = ipictureid 
    AND picture.picturepath = ipicturepath

    ELSE

    INSERT INTO picture (picture.id, picture.picturecontent,picture.picturepath) VALUES (ipictureid, ipicturecontent, ipicturepath)
Run Code Online (Sandbox Code Playgroud)

mysql

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×2

insert ×1