mysql导入sql文件而不覆盖但更新curent值+备份值

时间:2015-12-24 00:48:36

标签: mysql command-line batch-processing command-prompt mysqldump

我有2个数据库

1.db_temporary

2.db_primary

db_temporary中的

我有一个包含大量数据的表,我想保留这些数据而不会覆盖它但是从导入的MYSQL文件更新它

我使用此命令转储db_primary并将备份导入db_temporary

D:\mysql4.0.27\bin\mysqldump.exe --add-drop-table db_primary tb_wantomodify > "backupfile.sql"
D:\mysql4.0.27\bin\mysql.exe db_temporary < "backupfile.sql"

我已经尝试This Solution是的,它没有被淹没,但我想要的是更新(添加)db_temporary的最新字段和新的备份值。

技术上类似于更新集curvalue = curvalue +&#39; newvaluefrombackup&#39;像

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:1)

首先,您可以将这两个表放在同一个数据库中。没有理由创建两个单独的文件。其次你想要的是SQL UPDATE命令。首先创建一个数据库对象并将其设置为您的数据库。

SQLiteDatabase dataBase = SQLiteDatabase.openDatabase(myPath,
            null, SQLiteDatabase.OPEN_READWRITE);
database.execSQL("UPDATE " +yourTableNameHere+ " SET " +theColumnYouWantToUpdate+ "='" +theNewValue+ "' WHERE " +theColumnNametoUpdate+ "='" +theNewValue+ "'");

这一开始可能看起来令人困惑,但您需要了解的是SQL命令读取为字符串。此示例假定您正在为表数据使用字符串常量,就像您应该的那样。前后的+号是串联命令。确保添加空格。并且在要检查的值之后不要忘记逗号。这里有一个非常好的SQL命令教程:[http://www.1keydata.com/sql/sqlselect.html]