如何在mysql中的单个查询中插入和更新

时间:2017-03-13 05:54:40

标签: mysql

这是我的表:

CREATE TABLE 'jobseeker_text_approval' ( 
    'id' Int( 11 ) AUTO_INCREMENT NOT NULL,
    'js_id' Int( 11 ) NULL,
    'first_name' VarChar( 200 ) NULL,
    'last_name' VarChar( 200 ) NULL,
    'address_line1' VarChar( 150 ) NULL,
    'address_line2' VarChar( 150 ) NULL,
    'about_me' Text NULL,
    'accomplishments' Text NULL,
    'awards' Text NULL,
    'created_on' Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY ( 'id' ),
    CONSTRAINT 'js_id' UNIQUE( 'js_id' ) )
    ENGINE = InnoDB
    AUTO_INCREMENT = 272;
 )

我想在单个查询中插入和更新

我试过这个:

INSERT INTO jobseeker_text_approval (created_on)
VALUES('2017-02-26T00:00') ON DUPLICATE KEY UPDATE js_id= 216;

但是如果js_id存在,则添加新行而不是更新行。 如果有一行给定的js_id,我想更新表。否则插入。我也尝试过REPLACE INTO功能。但它取代了 给定的值。但是将行中的现有字段设为null。

0 个答案:

没有答案