第一个表的结构是这样的:
create table G(id int,ccode varchar(20),ccode_name varchar(50),cclass varchar(20),igrade int,bd_c int,ccode_1 varchar(5))
go第二个表的结构是这样的
insert into t_account(
FAccountID,
FNumber,FName,FLevel,FDetail,FparentID,FRootID,FGroupID,FDC,FcurrencyID,FAdjustRate,
FQuantities,FunitGroupID,FMeasureUnitID,FIsCash,FIsBank,FJournal,FContact,
FIsCashFlow,FDetailID,FAcnt,FLoan,FDpst,FStatedDpst,FInterest,FIsAcnt,FIsBudget,
FAcntID,FBrNo,FAcctint,FintRate,FAcntType,FControl,FViewMsg,FDelete,FIsBuSi,FFullName,
FSystemType,FControlSystem
)select
id,ccode,ccode_name,igrade,igrade,0,0,0,bd_c,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,ccode_name,1,0
from G 第一个表G里面有92条记录,id号的范围是1000~1092。每次当我将第张表的数据插入到第二张表中的时候,当插到1080条记录的时候,它就会提示:“有重复的列,结束插入”,但是我的id号是唯一的啊!!
当我把第二条语句改成这样的时候:
insert into t_account(
FAccountID,
FNumber,FName,FLevel,FDetail,FparentID,FRootID,FGroupID,FDC,FcurrencyID,FAdjustRate,
FQuantities,FunitGroupID,FMeasureUnitID,FIsCash,FIsBank,FJournal,FContact,
FIsCashFlow,FDetailID,FAcnt,FLoan,FDpst,FStatedDpst,FInterest,FIsAcnt,FIsBudget,
FAcntID,FBrNo,FAcctint,FintRate,FAcntType,FControl,FViewMsg,FDelete,FIsBuSi,FFullName,
FSystemType,FControlSystem
)select
id,ccode,ccode_name,igrade,igrade,0,0,0,bd_c,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,ccode_name,1,0
from G where id>=1080
go
的时候就可以插入前80条记录。
而且在企业管理器里面也不能插入数据。
晕死了~~~~
想了好久都想不通:'(
create table G(id int,ccode varchar(20),ccode_name varchar(50),cclass varchar(20),igrade int,bd_c int,ccode_1 varchar(5))
go第二个表的结构是这样的
insert into t_account(
FAccountID,
FNumber,FName,FLevel,FDetail,FparentID,FRootID,FGroupID,FDC,FcurrencyID,FAdjustRate,
FQuantities,FunitGroupID,FMeasureUnitID,FIsCash,FIsBank,FJournal,FContact,
FIsCashFlow,FDetailID,FAcnt,FLoan,FDpst,FStatedDpst,FInterest,FIsAcnt,FIsBudget,
FAcntID,FBrNo,FAcctint,FintRate,FAcntType,FControl,FViewMsg,FDelete,FIsBuSi,FFullName,
FSystemType,FControlSystem
)select
id,ccode,ccode_name,igrade,igrade,0,0,0,bd_c,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,ccode_name,1,0
from G 第一个表G里面有92条记录,id号的范围是1000~1092。每次当我将第张表的数据插入到第二张表中的时候,当插到1080条记录的时候,它就会提示:“有重复的列,结束插入”,但是我的id号是唯一的啊!!
当我把第二条语句改成这样的时候:
insert into t_account(
FAccountID,
FNumber,FName,FLevel,FDetail,FparentID,FRootID,FGroupID,FDC,FcurrencyID,FAdjustRate,
FQuantities,FunitGroupID,FMeasureUnitID,FIsCash,FIsBank,FJournal,FContact,
FIsCashFlow,FDetailID,FAcnt,FLoan,FDpst,FStatedDpst,FInterest,FIsAcnt,FIsBudget,
FAcntID,FBrNo,FAcctint,FintRate,FAcntType,FControl,FViewMsg,FDelete,FIsBuSi,FFullName,
FSystemType,FControlSystem
)select
id,ccode,ccode_name,igrade,igrade,0,0,0,bd_c,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,ccode_name,1,0
from G where id>=1080
go
的时候就可以插入前80条记录。
而且在企业管理器里面也不能插入数据。
晕死了~~~~
想了好久都想不通:'(
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_Account]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[t_Account]
GOCREATE TABLE [dbo].[t_Account] (
[FAccountID] [int] NOT NULL ,
[FNumber] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[FName] [nvarchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,
[FLevel] [smallint] NULL ,
[FDetail] [bit] NULL ,
[FParentID] [int] NULL ,
[FRootID] [int] NULL ,
[FGroupID] [int] NULL ,
[FDC] [int] NULL ,
[FHelperCode] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[FCurrencyID] [int] NULL ,
[FAdjustRate] [bit] NULL ,
[FEarnAccountID] [int] NULL ,
[FQuantities] [bit] NULL ,
[FUnitGroupID] [int] NULL ,
[FMeasureUnitID] [int] NULL ,
[FIsCash] [bit] NULL ,
[FIsBank] [bit] NULL ,
[FJournal] [bit] NULL ,
[FContact] [bit] NULL ,
[FIsCashFlow] [bit] NULL ,
[FDetailID] [int] NULL ,
[FAcnt] [bit] NULL ,
[FLoan] [bit] NULL ,
[FDpst] [bit] NULL ,
[FStatedDpst] [bit] NULL ,
[FInterest] [bit] NULL ,
[FIsAcnt] [bit] NULL ,
[FIsBudget] [bit] NULL ,
[FAcntID] [int] NULL ,
[FBrNo] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[FAcctint] [bit] NULL ,
[FintRate] [float] NULL ,
[FLastintDate] [datetime] NULL ,
[FAcntType] [int] NULL ,
[FTradeNum] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[FControl] [int] NULL ,
[FViewMsg] [bit] NULL ,
[FMessage] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[FDelete] [smallint] NULL ,
[FIsBusi] [int] NULL ,
[FFullName] [varchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[FModifyTime] [timestamp] NULL ,
[FSystemType] [int] NULL ,
[FControlSystem] [smallint] NULL ,
[UUID] [uniqueidentifier] NULL
) ON [PRIMARY]
GO
看看有没有重复的,然后看看第二张表的主键是不是组合主键盘
肯定有重复的,select id,count(*) from G group by id having count(*)>1
看看有没有重复的,然后看看第二张表的主键是不是组合主键盘
************************************************************
我执行
SELECT id, COUNT(*) AS Expr1
FROM G
GROUP BY id
HAVING (COUNT(*) > 1)
没有发现重复的数据的
************************************************************
之前有数据马?如果有清空(先备份)
再插入数据看看...顺利插入的话,哪就是之前数据与你插入的数据有冲突...
不顺利的话,哪就是主键问题了...
之前的数据已经清空了,我已经通过delete语句清空了的,就剩最后一招--“重建这张表的”:)