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

update one database from another without overwriting notes

我的数据库中有 table

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 的记录具有不同的地址或 phone 数字,则我拥有的内容应该被我的 csv 文件中的内容覆盖。但是,我不想覆盖 Notes 字段,如果在不同的 table 中有一条记录引用了这些记录之一,我不想弄乱 link。

(如何)可以做到这一点?使用 phpMyAdmin

1) 使用 phpmyadming csv 文件导入功能(导入->格式(选择 csv))或
使用 BigDump 将 csv 数据导入您的 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;

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