在mysql中如何在单个查询中进行插入和更新
这是我的桌子:在mysql中如何在单个查询中进行插入和更新,mysql,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
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\u id
,它将添加一个新行,而不是更新该行。
如果存在具有给定js_id的行,我想更新该表。否则插入。我还尝试了替换功能。但它取代了
给定的值。但将行中的现有字段设置为null 这可能会对你有所帮助。你可以在插入之前创建一个触发器。我可以不使用触发器方法来创建吗?在插入中包含js_id-再看看插入是如何。。。更新语法工作是的。我已尝试。插入正在工作。但更新不工作