日期:2014-05-18  浏览次数:20452 次

关于数据库插入值的问题
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)




时候报错 :违反主键的PK_NAMES的约束。对象' dbo.M_NAMES “你不能插入重复键。
我是重tet文件里读出一条记录插入数据库的。怎么样修改者张表才能正确把数据正确的插入数据库啊。



------解决方案--------------------
ID是主键 不要插入ID重复记录就OK了 不需要怎么修改,。
------解决方案--------------------
主键不能插入重复值!
------解决方案--------------------
主键怎能插入重复记录呢?
------解决方案--------------------
报错已经提示了违反主键的PK_NAMES的约束,主键不插入重复值就可以了
------解决方案--------------------
IDENTITY(1, 1)字段,是不能显式插入的
除非是复制数据记录,也需要把表设置为id复制模式
------解决方案--------------------
主键是不能插入重复值的
------解决方案--------------------
SQL code

insert into M_NAMES values (CLASS_CD,...) --不要有ID这个字段,因为是自增的,会自动处理