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)。
你知道吗?抱歉我的英语不好!非常感谢你!答案 0 :(得分:1)
这完全取决于你的意思;
如果你想要前1000个用户为什么不写;
WHERE account_id <= 1000
如果您想要所有用户;
没有WHERE
条款。
如果您希望通过参数(用户输入)插入用户;
DECLARE @ID int
SET @ID = 1;
WHERE account_id = @ID
答案 1 :(得分:0)
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 BETWEEN 1 AND 1000;
SELECT
- 部分可能会一次返回多行。 (我认为account_id实际上不是字符串而是数字)。
此外,我强烈建议在select语句中输入列名。
答案 2 :(得分:0)
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
您也可以指定列名而不是*
insert into user (user_id,account_id,user_type_cd,name,e_mail_addr,login_failure_cnt,admin_user,primary_user) select id,ac_id .... from pnet_user
答案 3 :(得分:0)
如果account_id是数字,只需更改where子句
即可 Insert user (user_id, account_id, user_type_cd,
name, e_mail_addr, login_failure_cnt,
admin_user, primary_user)
Select user_id, account_id, user_type_cd,
name, e_mail_addr, login_failure_cnt,
admin_user, primary_user
From pnet_user where account_id
Between 1 and 1000
如果account_id确实是一个字符串,则将其更改为数字
Insert user (user_id, account_id, user_type_cd,
name, e_mail_addr, login_failure_cnt,
admin_user, primary_user)
Select user_id, account_id, user_type_cd,
name, e_mail_addr, login_failure_cnt,
admin_user, primary_user
From pnet_user where Cast(account_id as integer)
Between 1 and 1000