项目场景:
在pg数据库导入更新的数据库表/navicat使用工具更新表字段。
问题描述
postgres数据库中表因为修改字段导出sql文件,再导入到另一个数据库表出现数据丢失问题。
原因分析:
sql文件有这个语句DROP TABLE IF EXISTS "public”,"表名";
pgsql在导出的数据结构表的文件时,会有这个语句,DROP TABLE IF EXISTS "public”,"表名";在导入sql文件时,它会先删除导入的数据库中原有的数据表(数据会消失),然后再以新表的形式插入到数据库,注意以后导入sql文件时注意update、drop字段。
解决方案:
可以通过navicat工具,点击左上角工具,再点击同步结构,选择数据源(你已经修改好的字段表所在的数据库)和目标数据库,
点击比对。
只勾选我们要更新(修改)的数据表,其他的一定要去除打钩标记,否侧会出现意想不到的惊喜(等着哭吧)!
然后点击右下角部署、检查语句内容、点击右下角运行。