mysqlのinsert intoとreplace intoおよびinsert ignoreの使い方の違い:

3682 ワード

mysqlでよく使用される3つのデータを挿入する文:
  • insert intoはデータを挿入することを表し、データベースはプライマリ・キーを検査し、重複が発生するとエラーが報告される.
  • replace intoは置換データの挿入を表し、需要テーブルにはPrimaryKey、またはuniqueインデックスがあり、データベースにデータがすでに存在する場合は新しいデータで置換し、データ効果がなければinsert intoと同じである.
  • insert ignoreは、同じレコードがすでに存在する場合、現在の新しいデータは無視されることを示す.

  • 次のようにコードで区別します.
    create table testtb( 
    id int not null primary key, 
    name varchar(50), 
    age int 
    ); 
    
    insert into testtb(id,name,age)values(1,"bb",13); 
    select * from testtb; 
    insert ignore into testtb(id,name,age)values(1,"aa",13); 
    
    select * from testtb;//  1,“bb”,13,  id   ,          ignore       
    
    replace into testtb(id,name,age)values(1,"aa",12); 
    
    select * from testtb; //    1,"aa",12