开放【fàng】中【zhōng】经常遇【yù】到的一个场景,先【xiān】判断某【mǒu】条数据是否存在,不存【cún】在则写【xiě】入一条【tiáo】记录,存在就【jiù】更新【xīn】某些字段【duàn】,咋整?难不成写两条SQL?sql早就想到了,其实一条语句就可以完成【chéng】。
1 | INSERT INTO test(a,b,c) VALUES(1,2,3) ON DUPLICATE KEY UPDATE a=1,c=3; |
解释:向【xiàng】表test中写入1,2,3,存【cún】在【zài】键冲突则执行更新操作。
1 | REPLACE INTO test(a,b,c) VALUES(1,2,3) |
解释:向表test写入1,2,3,存在键冲突则执行替换操作
注意【yì】:次操作会首先删除冲突的行再【zài】执行插入操作【zuò】,所以受影响【xiǎng】行数【shù】是2
1 | INSERT IGNORE INTO test(a,b,c) VALUES(1,2,3) |
解释【shì】:向表【biǎo】test写入1,2,3,存在【zài】键冲突【tū】则直接【jiē】忽略不进行写【xiě】入。
版权所有:深圳市网商在线科技有限公司
友情链接: