MySQL中的插入操作:无则创建,有则不变(mysql没有就插入)

MySQL中的插入操作包括INSERT以及INSERT IGNORE语句,在添加新记录时,如果想要根据有不同的要求执行不同的插入操作,比如当表中存在某条记录时则不插入新记录,当不存在此条记录时才插入新纪录,那么就需要使用INSERT IGNORE操作。

首先,用INSERT操作插入数据:

INSERT INTO table_name (column1,column2,column3) VALUES (value1,value2,value3);

上述语句将在表table_name中插入一条新记录,假如此条记录的主键已存在,则会出现Duplicate Entry的错误,因此可以采用INSERT IGNORE语句来避免这一错误,实现无则创建,有则不变的效果:

INSERT IGNORE INTO table_name (column1,column2,column3) VALUES (value1,value2,value3);

INSERT IGNORE语句与INSERT语句不同之处在于:当唯一键或主键重复时,而insert会报错,而insert ignore会跳过对这一行数据的插入操作,即记录不会被插入,但也不会产生错误。

INSERT IGNORE语句使用较多时是用来避免多条件判断,如果想要保证插入的表和字段信息正确,在插入的前面可以添加一句SHOW TABLES,如果此时表存在则执行下一步插入操作,否则,添加Create Table语句先创建表,然后再进行插入操作。

总的来说,MySQL中的INSERT和INSERT IGNORE语句可以用来实现无差别创建和有则不变的插入操作,两者在插入数据时使用方法简单,操作灵活,极大地简化了数据操作步骤。


数据运维技术 » MySQL中的插入操作:无则创建,有则不变(mysql没有就插入)