SQL Server奇怪问题,不能插入数据
我原来有这么个表   
 CREATE   TABLE   [BarCode_Mapping]   ( 
 	[ATL_ID]   [varchar]   (20)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   , 
 	[My_ID]   [varchar]   (20)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[PostDate]   [datetime]   NULL   CONSTRAINT   [DF_BarCode_Mapping_PostDate]   DEFAULT   (getdate()), 
 	CONSTRAINT   [PK_BarCode_Mapping]   PRIMARY   KEY      CLUSTERED    
 	( 
 		[ATL_ID] 
 	)      ON   [PRIMARY]    
 )   ON   [PRIMARY] 
 GO   
 后来增加了两个字段(原来有数据210万条)   
 alter   table   Barcode_Mapping 
 add   ProductDate   smalldatetime,BatchID   varchar(20)   
 可增加这两个字段之后就不能插入数据了 
 insert   into   Barcode_Mapping 
 (Atl_ID,My_ID,PostDate,BatchID,ProductDate) 
 values( '123 ', '123 ',getdate(), '123 ', '2007-1-1 ')   
 提示 "列名或所提供值的数目与表定义不匹配 " 
 明明是一样的,怎么就不能保存呢   
 如果在另外一个数据库新建这样的一个表,再加上后来新增的两个字段 
 执行上面的insert语句就可以正常保存     
 不知道咋回事,望高手解疑答惑,不胜感激 
------解决方案--------------------插入的smalldatetime数据类型不对...
------解决方案--------------------测试通过,没有问题啊   
 楼主是在查询分析器里执行的插入语句吗?
------解决方案----------------------try   
 insert into Barcode_Mapping 
 (Atl_ID,My_ID,PostDate,BatchID,ProductDate) 
 values( '123 ', '123 ',default, '123 ', '2007-1-1 ')
------解决方案--------------------可以插入啊
------解决方案--------------------可能以前的SQL語句是這樣寫的 
 insert into Barcode_Mapping 
 values( '123 ',  '123 ', getdate())
------解决方案--------------------主键约束了?
------解决方案--------------------报错信息是什么?
------解决方案--------------------insert into Barcode_Mapping 
 values( '123 ',  '123 ', getdate())   
 如果你的语句这样写,然后再增加列的时候,肯定会出 "列名或所提供值的数目与表定义不匹配 " 
 这样的错误的   
 insert into Barcode_Mapping 
 (Atl_ID,My_ID,PostDate,BatchID,ProductDate) 
 values( '123 ', '123 ',default, '123 ', '2007-1-1 ')   
 这样写是没有问题的 
 就是说在表名后面要跟上列名列表
------解决方案--------------------最好事将错误提示弹出来  ,  可能事原来插入的时候  只写表名 没有具体写清插入那些列 ,你现在给表增加了2列导入表列和插入的值数量不一致