SQLite 将test2.db的table2表中的field2字段和field1的值更新到test1.db的table1表的field2字段和field1字段中, 使用C语言sqlite3实现
时间: 2024-03-20 21:38:45 浏览: 55
你可以使用以下代码实现此操作:
```c
#include <stdio.h>
#include <sqlite3.h>
int main() {
sqlite3 *db1, *db2;
char *err_msg = 0;
// Open database connections
if (sqlite3_open("test1.db", &db1) != SQLITE_OK) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db1));
sqlite3_close(db1);
return 1;
}
if (sqlite3_open("test2.db", &db2) != SQLITE_OK) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db2));
sqlite3_close(db2);
return 1;
}
// Execute update command
char *sql = "UPDATE table1 SET field2 = (SELECT field2 FROM table2), field1 = (SELECT field1 FROM table2);";
if (sqlite3_exec(db1, sql, 0, 0, &err_msg) != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", err_msg);
sqlite3_free(err_msg);
sqlite3_close(db1);
sqlite3_close(db2);
return 1;
}
// Close database connections
sqlite3_close(db1);
sqlite3_close(db2);
return 0;
}
```
这个程序首先打开两个 SQLite 数据库连接,然后执行一个 SQL UPDATE 命令,将 test2.db 中的 table2 表的 field2 字段和 field1 的值更新到 test1.db 中的 table1 表的 field2 字段和 field1 字段中。最后关闭数据库连接。
阅读全文