关于数据库(sqlserver)插入有关问题
阅读
- SQL code
CREATE TABLE M_NAMES ( ID INT IDENTITY(1, 1), --ID CLASS_CD TINYINT NOT NULL, --暘椶 NAME_CD SMALLINT NOT NULL, --嬫暘 FULL_NAME NVARCHAR(60), --柤徧 SHORT_NM1 NVARCHAR(10), --棯徧1 SHORT_NM2 NVARCHAR(20), --棯徧2 REMARK1 NVARCHAR(40), --旛峫1 REMARK2 NVARCHAR(40), --旛峫2 DIV1 NVARCHAR(2), --嬫暘1 DIV2 NVARCHAR(3), --嬫暘2 DIV3 NVARCHAR(4), --嬫暘3 INS_DATE DATETIME, --搊榐擔 UPD_DATE DATETIME, --峏怴擔 VERSION INT NOT NULL, --僶乕僕儑儞 CONSTRAINT PK_NAMES PRIMARY KEY (ID), CONSTRAINT U_NAMES UNIQUE (CLASS_CD,NAME_CD) ) CREATE INDEX INDEX_NAME ON M_NAMES(CLASS_CD,NAME_CD)
我是重tet文件里读出一条记录插入数据库的。怎么样修改者张表才能正确把数据正确的插入数据库啊。
------解决方案--------------------
你这张表的ID,已经是自增序列了,正常操作是不会出现主键重复的。
说明你所导入的text文件中的记录,其ID,跟数据库中已有表数据的ID存在重复。
这种情况下,如果你不能把数据库中现有记录清空的话(也就是说你并不是在做一个恢复操作),那么你就只能是修改text文件中记录的ID序列号,常用的做法是固定增加一个很大的数。
比如固定增加 80000000:
text文件中ID是 123,那么你写数据库时,ID就改为:80000123
------解决方案--------------------
ID INT IDENTITY(1, 1), --ID
修改id属性 改成否 如图
------解决方案--------------------
1.insert into M_NAMES(CLASS_CD, NAME_CD, ......) vlaues(?,?,?,?,?,?,?,?,?)";
按照M_NAMES 表结构应该是13列。不算 ID
2.DATETIME类型,null的时候,用setString,有点问题。最好用setNull
------解决方案--------------------
阅读
上一篇:spring 有关问题 下一篇:返回列表