为何不能在空表中加入记录
我用的是server 2003的系统
用SQL 2000 创建了一个数据库,在数据库中建了一个表
用vc编了个程序完成添加,删除,前后移动等功能发现把表中的所有记录都删除后不能再往表中添加新记录,但是如果表中有一个以上记录时可以添加记录。
请各位高手帮我分析一下是为什么
------解决方案--------------------查询分析器里加条记录看看
可以的话,那可能就是程序的问题
------解决方案--------------------应该是前台处理程序的问题 检查插入语句 插入关键字 字段是否为空 (null)
列如:
create table tb(tid int primary key,name nvarchar(10))
go
insert tb select max(tid)+1, '123 ' from tb
select * from tb
假如TB中没有数据 插入就会失败 但是假如tb中有数据插入就正常
假如你要根据原先最大tid再+1 来作为新的tid
应该修改为:
insert tb select isnull(max(tid),1)+1, '123 ' from tb
------解决方案--------------------查看:
1 存在本表与其他表关联的foreign key
2 空值问题
3 存在某触发器的影响
4 前台程序问题
.......