首页 > 数据表之间移动数据一般采用什么方法?

数据表之间移动数据一般采用什么方法?

两个表A和B,用户把应该插入A表的数据放在B表,管理员在后台进行数据移动,可能有两种方法:
1、删掉B中的记录,把这条记录insert到表A中。
2、在B中加一个判别字段,判断记录无效,把这条记录insert到表A中。实际上不需要在B中删除记录。
哪个方法更可靠些?(A和B结构差不多,但数据必须分离,所以不能放在一张表中)


这里的关键是 删掉B中的记录 和 把记录insert到表A 必须在一个事务中. 数据库会保证数据一致性.

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into tt1 (uid, qid) select * from tt2;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> delete from tt2;
Query OK, 2 rows affected (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

不知道你用的是什么数据库,这时候做数据同步可以用触发器,通过insert update delete 事件进行更新。触发器在数据库中自动根据相应事件进行更新。

【热门文章】
【热门文章】