LOAD XML LOCAL INFILE 'file1.xml' INTO TABLE my_table ROWS IDENTIFIED BY '<product>'"
是否可以使用此功能更新表?
我使用REPLACE INTO TABLE my_table,但是仅添加了新行,并且没有更新现有行。
LOAD XML LOCAL INFILE 'file1.xml' REPLACE INTO TABLE my_table ROWS IDENTIFIED BY '<product>'"
参见:http : //dev.mysql.com/doc/refman/5.5/en/load- xml.html
注意:
REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与PRIMARY KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前会删除该旧行。请参见第12.2.5节“泪NSERT语法”。
由于外键限制,MySQL可能无法删除现有行。
您可以通过以下方法解决此问题:
SET FOREIGN_KEY_CHECKS=0; ...load xml SET FOREIGN_KEY_CHECKS=1;