将数据从一个表复制到另一个表并更改 id [重复]
Posted
技术标签:
【中文标题】将数据从一个表复制到另一个表并更改 id [重复]【英文标题】:Copy data from one table to another and change id [duplicate] 【发布时间】:2018-07-10 18:01:53 【问题描述】:我想将一行从一个表复制到另一个表。但在这个过程中,我想改变 id 的值。比如到20。怎么办?
我有这个代码
INSERT INTO work_done
SELECT * FROM work_todo
WHERE id = 10
【问题讨论】:
【参考方案1】:尝试一些像 tis 一样的想法
INSERT INTO work_done
( id
, col2
...
)
SELECT 20
, col2
...
FROM work_todo WHERE id = 10
【讨论】:
很可能,10
和 20
值实际上是 numerical 值并存储在数值类型的列中 - 所以它们应该不 在查询中用双引号括起来...
"20"
是 SQL 中的 标识符(例如列名)。我怀疑工作表中有一个名为"20"
的列
答案已更新 :)
我刚刚测试了我的查询,效果很好
哦,我在括号中使用了引号.. tx :)【参考方案2】:
select *
into work_done
from work_todo
where id = 10;
update work_done a
set a.id = 20;
或
select case id
when id = 10
then id = 20
into work_done
from work_todo
where id = 10;
【讨论】:
以上是关于将数据从一个表复制到另一个表并更改 id [重复]的主要内容,如果未能解决你的问题,请参考以下文章
将数据从一个表更新到另一个表并在新的 ms 访问 .net 时插入
Laravel 将数据从一个表移动到另一个表并删除数据来自的列?