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

标签 mysql sql

我有两个表“exp_bookmarks”和“exp_favorites”,它们基本上包含相同的信息....

exp_bookmarks 列...

exp_bookmarks columns

exp_favorites 列...

exp_favorites columns

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

不确定这里是否适合提问,但想不出其他任何地方可以尝试获得帮助,因此我们将不胜感激!干杯。

最佳答案

使用 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

关于mysql - 将表中的行复制到几乎相同的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513276/

相关文章:

mysql - SQL FK 约束失败

MYSQL 内文件连接

SQL MERGE 到远程(链接)服务器表

php - 使用 My SQL 连接

mysql - 如何对具有不同条件的两列中的值进行算术运算,然后将答案合并到一个查询中?

mysql - 简单的查询设计

mysql - 在 MySQL 中同时使用 AUTO_INCREMENT 和 PRIMARY KEY 有什么意义?

mysql - 如何优化大表上的计数 SQL 查询

sql - 如何对多列施加唯一约束

mysql - 根据分钟跳过记录从表中获取数据