id
(主キー) とuser_id
を含むテーブルがありname
ます。が既存のuser_id
と異なる場合は新しいレコードを挿入したいし、が同じでもが変更されている場合は を更新する必要があります。どうやってするか。私はこれを行いましたが、別の で同じものを更新しません。user_id
user_id
name
user_id
name
user_id
name
CREATE TABLE test
(
id int auto_increment primary key,
user_id int,
name varchar(60)
);
INSERT INTO test (user_id,name)
VALUES('01','user1');
INSERT INTO test (user_id,name)
VALUES('02','user2');
INSERT INTO test (user_id,name)
VALUES('03','user3');
insert into test (user_id, name) values('01', 'new_user') on duplicate key update name=values(name);
ここにありますsqlfiddle
:http://sqlfiddle.com/#!2/aa18e/1