将表中的行复制到几乎相同的表中

时间:2014-12-16 20:24:58

标签: mysql sql

我有两个表'exp_bookmarks'和'exp_favorites'基本上包含相同的信息....

exp_bookmarks 列...

exp_bookmarks columns

exp_favorites 列...

exp_favorites columns

我基本上想将exp_bookmarks中的所有数据复制到exp_favorites表中。 唯一的问题是bookmarks_id列中的值可能与favorites_id中的值匹配,并且它们都需要是唯一的。

不确定这是否是一个合适的地方,但不能想到其他任何地方尝试并获得帮助,所以任何指针都将不胜感激!欢呼声。

1 个答案:

答案 0 :(得分:3)

使用INSERT INTO ... SELECT ...语句将SELECT语句的结果插入表中。只需省略bookmarks_idfavorites_id列,它就会分配新的ID(我假设这是一个AUTO_INCREMENT列,如果它不是,那么它就是可能应该是)。

INSERT INTO exp_favorites (type, author_id, entry_id, member_id, site_id, entry_date, notes, public)
SELECT type, author_id, entry_id, member_id, site_id, entry_date, notes, public
FROM exp_bookmarks