从另一个数据库更新一个数据库而不覆盖注释

时间:2015-02-19 17:45:29

标签: mysql phpmyadmin

我的数据库中有一个表

CREATE TABLE IF NOT EXISTS `Family` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Last_Name` varchar(25) DEFAULT NULL,
`His_F_Name` varchar(25) DEFAULT NULL,
`Her_F_Name` varchar(25) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`city` varchar(25) DEFAULT NULL,
`phone_number` varchar(15) DEFAULT NULL,
`Notes` text,
PRIMARY KEY (`ID`)
)

我想从csv文件更新此列表,该文件是根据id的不同数据库导出的。也就是说,如果具有相同ID的记录具有不同的地址或电话号码,我所拥有的内容应该被我的csv文件中的内容覆盖。但是,我不想覆盖Notes字段,如果在不同的表中有一条记录引用其中一条记录,我不想弄乱链接。

(如何)可以这样做?使用phpMyAdmin

1 个答案:

答案 0 :(得分:1)

1)使用phpmyadming csv文件导入功能(Import-> Format(选择csv))或
   使用BigDump将csv-data导入MySQL 2)使用以下查询

SET SQL_SAFE_UPDATES = 0;
UPDATE Family f
        INNER JOIN
    FamilyTEMP ft ON f.ID = ft.ID 
SET 
    f.address = ft.address,f.phone_number = ft.phone_number;

第一行安全更新,因此您可以在不使用主键条件的情况下更新表。