5

如何复制表中的整行并更改一个值?

 insert into user (
     user_id,account_id,user_type_cd,name,e_mail_addr,
     login_failure_cnt,admin_user,primary_user
 )
 select * from pnet_user where account_id='1'

但现在我想在插入的条目上将 1 更改为 2。但现在我想在插入的条目上将 1 更改为 3。但现在我想在插入的条目上将 1 更改为 .... 。但现在我想在插入的条目上将 1 更改为 1000。

它将复制并写下 1000 次(仅更改 id )。

4

1 回答 1

20

我不完全确定我明白你在问什么。如果您想将 Account_ID = 1 的记录复制到新行并将 Account_ID 更改为 2(或任何数字),这应该适合您:

insert into user (user_id,account_id,user_type_cd,name,e_mail_addr,
     login_failure_cnt,admin_user,primary_user)
select user_id,2,user_type_cd,name,e_mail_addr,
     login_failure_cnt,admin_user,primary_user 
from pnet_user where account_id='1'

基本上,将 Account_ID 替换为值 2。如果 Account_ID 是 varchar,请在其周围使用单引号。

于 2013-05-21T20:51:13.623 回答