我正在构建一个相当大的数据库,并使用sql文件进行上传。不幸的是,我的sql文件包含数据库中已有项目的重复项。所以我的问题是,有没有一种方法可以在我的sql中使用"if/else"语句来说明如果url列中的url存在,那么UPDATE else INSERT。
我该如何在sql文件的顶部写它?这很难定义,因为我上传的数据看起来是这样的。。。一旦我弄清楚了这一部分,我将添加更多的专栏。
我想避免我的数据库在URL列中有重复的URL。但我希望能够保持信息的新鲜,所以它需要能够更新,如果URL已经在数据库中。
很抱歉解释得太长了,有人知道要放在sql文件顶部以允许if-else上传的代码吗?简而言之,"如果"它存在,则更新"否则"插入
('http://ikarga.net/','200'),
您可以使用MySQL的REPLACE,它将为您执行INSERT/UPDATE。
您可以使用函数INSERT IGNORE
或ON DUPLICATE KEY UPDATE
。++
在您的情况下,IGNORE
函数是最好的。它忽略错误,然后跳过该行。注意:该INSERT的所有错误都将被忽略。