其他分享
首页 > 其他分享> > insert ignore、insert和replace

insert ignore、insert和replace

作者:互联网

创建测试表(有PrimaryKey,或者unique索引,如表id设置了自增时):

CREATE TABLE citys(
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    city_name VARCHAR(255) UNIQUE,
    provincial VARCHAR(255)
);

 插入测试数据

INSERT INTO citys(city_name,provincial) value('hangzhou','zhejiang');
INSERT INTO citys(city_name,provincial) value('wenzhou','zhejiang');
INSERT INTO citys(city_name,provincial) value('lanzhou','ganshu');

 

 

 

a、测试insert当存在city_name字段的记录时返回报错

 

 报错原因是有唯一索引不允许存在相同记录字段

b、测试insert,insert ignore,replace的效果

INSERT INTO citys(city_name,provincial) value('hangzhou','zhejiang');
INSERT IGNORE INTO citys(city_name,provincial) value('hangzhou','zhejiang');
REPLACE INTO citys(city_name,provincial) value('hangzhou','zhejiang');

 

 

 

 


insert    是直接插入数据,当唯一索引冲突时会报错  
insert ignore    如有对应唯一字段存在会忽略不插入数据,不会报错。
replace    替换插入数据
注意:三种方式都会让发生自增,id都会自增变化。

 

标签:insert,name,provincial,value,replace,ignore,citys,city
来源: https://www.cnblogs.com/uphold/p/15707067.html