Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果mysql数据库重复,如何插入或更新_Php_Mysql_Pdo - Fatal编程技术网

Php 如果mysql数据库重复,如何插入或更新

Php 如果mysql数据库重复,如何插入或更新,php,mysql,pdo,Php,Mysql,Pdo,我有xml值类别和子类别,我想将其插入数据库中。 这段代码每天都会在服务器上运行,检查xml文件是否有更改,如果有更改,它将更新mysql数据库 我已经有了将记录从xml添加到mysql的代码,但是存在一些问题 当文件被执行时,它会在mysql中再次插入所有数据,而不是检查重复项,如果记录不存在则更新 第一类 子类别1 第一类 子类别2 第2类 子类别3 检查唯一性不是php的责任。它应该是MySQL,如果MySQL允许重复记录,那么您就有一个设计缺陷!更正您的表格设计,然后使用 INSERT

我有xml值类别和子类别,我想将其插入数据库中。 这段代码每天都会在服务器上运行,检查xml文件是否有更改,如果有更改,它将更新mysql数据库

我已经有了将记录从xml添加到mysql的代码,但是存在一些问题

当文件被执行时,它会在mysql中再次插入所有数据,而不是检查重复项,如果记录不存在则更新


第一类
子类别1
第一类
子类别2
第2类
子类别3

检查唯一性不是php的责任。它应该是MySQL,如果MySQL允许重复记录,那么您就有一个设计缺陷!更正您的表格设计,然后使用

INSERT INTO table(category, sub_category)
VALUES(:cat, :subCat)
ON DUPLICATE KEY UPDATE sub_category= values(sub_category); -- and so on
如果您不想更新,请使用

INSERT IGNORE INTO ... -- this will insert all rows that is not producing any error

检查唯一性不是php的责任。它应该是MySQL,如果MySQL允许重复记录,那么您就有一个设计缺陷!更正您的表格设计,然后使用

INSERT INTO table(category, sub_category)
VALUES(:cat, :subCat)
ON DUPLICATE KEY UPDATE sub_category= values(sub_category); -- and so on
如果您不想更新,请使用

INSERT IGNORE INTO ... -- this will insert all rows that is not producing any error

看这个:它应该对你有帮助看这个:它应该对你有帮助我试着这样做,但结果是一样的。问题是表中不能有唯一的列,因为子类别可能在多个类别中重复使用insert ignore into@伊瓦科巴拉维试图这样做,但结果是一样的。问题是表中不能有唯一的列,因为子类别可能在多个类别中重复使用insert ignore into@伊瓦科巴熔岩