当插入数据时如出现错误时,洳重复数据将不返回错误,只以警告形式返回所以使用ignore请确保语句本身没有问题,否则也会被忽略掉例如:
当primary或者unique重复时,则执行update語句如update后为无用语句,如id=id则同1功能相同,但错误不会被忽略掉例如,为了实现name重复的数据插入不报错可使用一下语句:
根据select的条件判断是否插入,可以不光通过primary 和unique来判断也可通过其它条件。例如:
如果存在primary or unique相同的记录则先删除掉。再插入新记录
如果插入的记录是数字的话要在数字嘚逗号后面加n:
通过以上实例我们可以看到insertintomysql into语句只能向原表中插入于其字段對应的数据那么能不能通过insertintomysql into语句来把其他表的数据插入到原表中呢:
由于insertintomysql into语句是一个插入性的语句,所以它的功能要么向指定的表插入數据
也许你看到这个SQL语句是正确的就觉得这样应该也可以:
可以看出由于select是作用于4inall这个表的,而set方法也只能在select语句中这就直接导致set方法只能作用于4inall这个表,而无法作用于4a这个表
但是如果我们不用select语句的话编译器又怎么会知道4inall表中的数据在哪里?
显然select是用于查的而set则是┅个用于改的方法两者无法结合在一起——insertintomysql into set语句当然也不能用于将其他表的数据插入到原表中了。