大侠快来帮忙:SQL中如何将一张表中的部分字段数据插入到另外一张表中,需要插入多行
其中,comrtu.wrid为主键insertintocomrtu(BYSERVERNUMBER,wRTUNum,byRTUType,STRNAME,WZRQID,STR...
其中,comrtu.wrid为主键
insert into comrtu( BYSERVERNUMBER,wRTUNum,byRTUType,STRNAME,WZRQID,STRSIMNUM,STRFEEDER, BYRTUFUNC,STRRTUCAP,TSERVTIME,STRVERSION,STRCOMDEVINFO,STRCABMODEL,BYDATASERVERNO,BYDATASOURCENO,WCHANGZHANID,
BYRTUADDRESS,BYMAINCHPTLTYPE,BYMAINCHTYPE,BYMAINSERIALCHANNELID,WMAINCHBPS,STRMAINCHIPADDR,WMAINCHPORTNUM,
BYMAINCHD0K0FLAG,BYMAINCODESAVEFLAG,BYSLAVECHPTLTYPE,BYSLAVECHTYPE,BYSLAVESERIALCHANNELID,WSLAVECHBPS,
STRSLAVECHIPADDR,WSLAVECHPORTNUM,BYSLAVECHD0K0FLAG,BYSLAVECODESAVEFLAG,BYSLAVECHSENDFLAG,STRRTUACCESSUSER,
STRRTUPASSWORD,STRPARAM1801,BYSOEVALIDFLAG,BYYCVALIDFLAG,BYYXVALIDFLAG,BYDOWNCHTESTFLAG,BYSETTIMEFLAG,
STRMAINCHPHONENUM,BYMAINCHPHONETYPE,STRSLAVECHPHONENUM,BYSLAVECHPHONETYPE,BYCJZHOUQI,BYSJMIDU,BYREV1,
WREV2,BYRTUTOUTUIFLAG,BYYCFSFLAG,BYYXFSFLAG,BYYKFSFLAG,BYSHAREPORTMODE,WALLCALLCYCLE)
select
BYSERVERNUMBER,wRTUNum,byRTUType,STRNAME,WZRQID,STRSIMNUM,STRFEEDER,
BYRTUFUNC,STRRTUCAP,TSERVTIME,STRVERSION,STRCOMDEVINFO,STRCABMODEL,BYDATASERVERNO,BYDATASOURCENO,WCHANGZHANID,
BYRTUADDRESS,BYMAINCHPTLTYPE,BYMAINCHTYPE,BYMAINSERIALCHANNELID,WMAINCHBPS,STRMAINCHIPADDR,WMAINCHPORTNUM,
BYMAINCHD0K0FLAG,BYMAINCODESAVEFLAG,BYSLAVECHPTLTYPE,BYSLAVECHTYPE,BYSLAVESERIALCHANNELID,WSLAVECHBPS,
STRSLAVECHIPADDR,WSLAVECHPORTNUM,BYSLAVECHD0K0FLAG,BYSLAVECODESAVEFLAG,BYSLAVECHSENDFLAG,STRRTUACCESSUSER,
STRRTUPASSWORD,STRPARAM1801,BYSOEVALIDFLAG,BYYCVALIDFLAG,BYYXVALIDFLAG,BYDOWNCHTESTFLAG,BYSETTIMEFLAG,
STRMAINCHPHONENUM,BYMAINCHPHONETYPE,STRSLAVECHPHONENUM,BYSLAVECHPHONETYPE,BYCJZHOUQI,BYSJMIDU,BYREV1,
WREV2,BYRTUTOUTUIFLAG,BYYCFSFLAG,BYYXFSFLAG,BYYKFSFLAG,BYSHAREPORTMODE,WALLCALLCYCLE
from comrtu_old where comrtu_old.wrtuid < 21
现在的问题是将comrtu_old.wrtuid = 1可以顺利插入一条记录,但是想继续插入数据时comrtu_old.wrtuid = 2 会提示:违反唯一的约束条件 展开
insert into comrtu( BYSERVERNUMBER,wRTUNum,byRTUType,STRNAME,WZRQID,STRSIMNUM,STRFEEDER, BYRTUFUNC,STRRTUCAP,TSERVTIME,STRVERSION,STRCOMDEVINFO,STRCABMODEL,BYDATASERVERNO,BYDATASOURCENO,WCHANGZHANID,
BYRTUADDRESS,BYMAINCHPTLTYPE,BYMAINCHTYPE,BYMAINSERIALCHANNELID,WMAINCHBPS,STRMAINCHIPADDR,WMAINCHPORTNUM,
BYMAINCHD0K0FLAG,BYMAINCODESAVEFLAG,BYSLAVECHPTLTYPE,BYSLAVECHTYPE,BYSLAVESERIALCHANNELID,WSLAVECHBPS,
STRSLAVECHIPADDR,WSLAVECHPORTNUM,BYSLAVECHD0K0FLAG,BYSLAVECODESAVEFLAG,BYSLAVECHSENDFLAG,STRRTUACCESSUSER,
STRRTUPASSWORD,STRPARAM1801,BYSOEVALIDFLAG,BYYCVALIDFLAG,BYYXVALIDFLAG,BYDOWNCHTESTFLAG,BYSETTIMEFLAG,
STRMAINCHPHONENUM,BYMAINCHPHONETYPE,STRSLAVECHPHONENUM,BYSLAVECHPHONETYPE,BYCJZHOUQI,BYSJMIDU,BYREV1,
WREV2,BYRTUTOUTUIFLAG,BYYCFSFLAG,BYYXFSFLAG,BYYKFSFLAG,BYSHAREPORTMODE,WALLCALLCYCLE)
select
BYSERVERNUMBER,wRTUNum,byRTUType,STRNAME,WZRQID,STRSIMNUM,STRFEEDER,
BYRTUFUNC,STRRTUCAP,TSERVTIME,STRVERSION,STRCOMDEVINFO,STRCABMODEL,BYDATASERVERNO,BYDATASOURCENO,WCHANGZHANID,
BYRTUADDRESS,BYMAINCHPTLTYPE,BYMAINCHTYPE,BYMAINSERIALCHANNELID,WMAINCHBPS,STRMAINCHIPADDR,WMAINCHPORTNUM,
BYMAINCHD0K0FLAG,BYMAINCODESAVEFLAG,BYSLAVECHPTLTYPE,BYSLAVECHTYPE,BYSLAVESERIALCHANNELID,WSLAVECHBPS,
STRSLAVECHIPADDR,WSLAVECHPORTNUM,BYSLAVECHD0K0FLAG,BYSLAVECODESAVEFLAG,BYSLAVECHSENDFLAG,STRRTUACCESSUSER,
STRRTUPASSWORD,STRPARAM1801,BYSOEVALIDFLAG,BYYCVALIDFLAG,BYYXVALIDFLAG,BYDOWNCHTESTFLAG,BYSETTIMEFLAG,
STRMAINCHPHONENUM,BYMAINCHPHONETYPE,STRSLAVECHPHONENUM,BYSLAVECHPHONETYPE,BYCJZHOUQI,BYSJMIDU,BYREV1,
WREV2,BYRTUTOUTUIFLAG,BYYCFSFLAG,BYYXFSFLAG,BYYKFSFLAG,BYSHAREPORTMODE,WALLCALLCYCLE
from comrtu_old where comrtu_old.wrtuid < 21
现在的问题是将comrtu_old.wrtuid = 1可以顺利插入一条记录,但是想继续插入数据时comrtu_old.wrtuid = 2 会提示:违反唯一的约束条件 展开
展开全部
必然会出错啊。
上述语句中,你除了在开篇说到了主键是wrid之外,下面的语句没有再出现这个值。你插入的那一部分字段没有wrid。
主键是不允许为空的。所以你能插入一条记录已经是逆了天了,说明你的SQL服务器有BUG。
解决的办法是,把wrid字段设置成自动增长列。添加标识种子,种子增量你随便填,最好填1。
上述语句中,你除了在开篇说到了主键是wrid之外,下面的语句没有再出现这个值。你插入的那一部分字段没有wrid。
主键是不允许为空的。所以你能插入一条记录已经是逆了天了,说明你的SQL服务器有BUG。
解决的办法是,把wrid字段设置成自动增长列。添加标识种子,种子增量你随便填,最好填1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查了一下,你的insert语句中没有wrid这个字段
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询