MYSQL存在既更新,不存在就新增 T SQL

2021-09-19 03:46:29 字數 1318 閱讀 8290

create table `tm_customer_sap_log` (

`id` bigint(36) not null auto_increment comment 'id',

`partner` varchar(64) not null default '' comment '客戶編號',

`name_org1` varchar(64) default null comment '客戶名稱1',

`` varchar(64) default null comment '客戶位址',

`vkorg` varchar(64) default null comment '銷售組織',

`land1` varchar(64) default null comment '國家',

`crusr` varchar(64) default null comment '建立人',

`crdat` varchar(64) default null comment '建立日期',

`chusr` varchar(64) default null comment '更改者',

`chdat` varchar(64) default null comment '修改日期',

`chtim` varchar(64) default null comment '修改時間',

`aufsd` varchar(64) default null comment '凍結狀態',

`create_time` datetime default null comment '建立日期',

primary key (`id`,`partner`)

) engine=innodb auto_increment=5 default charset=utf8;

-- 測試 

insert into tm_customer_sap_log

(partner,name_org1,street,vkorg,land1,crusr,crdat,chusr,chdat,chtim,aufsd,create_time)  

values('partner','name_org1','street','vkorg','land1','crusr','crdat','chusr','chdat','chtim','aufsd',current_timestamp())

on duplicate key update name_org1='name_org1-2',street = 'street-02' 

注意:id和partner是主鍵,此做法必須擁有唯一索引,所以在字段partner上建立乙個唯一索引,因為是根據partner來判斷資料是否唯一

不存在 MySQL資料存在就更新,不存在就新增

做業務系統,經常遇到初始化一些資料,但如果每次都檢查就比較麻煩,下面的方法可以解決類似的問題。使用on duplicate插入的字段中必須有唯一約束,否則會出現重複值 目前表中沒有唯一約束,執行兩遍插入語句,會出現兩個重複資料,id為49的jerry和id為50的jerry,並沒有達到修改的目的,將...

Mysql 存在既更新,不存在就新增(sql語句)

insert 語句的一部分,如果指定 on duplicate key update 並且插入行後會導致在乙個unique索引或primary key中出現重複值,則在出現重複值的行執行update,如果不會導致唯一值列重複的問題,則插入新行 sql 語句原型 insert into table p...

Mysql 存在既更新,不存在就新增(sql語句)

insert 語句的一部分,如果指定 on duplicate key update 並且插入行後會導致在乙個unique索引或primary key中出現重複值,則在出現重複值的行執行update,如果不會導致唯一值列重複的問題,則插入新行 sql 語句原型 insert into table p...