主键约束没有重复为什么显示重复?

CREATE TABLE cardInfo
(
cardID CHAR PRIMARY KEY NOT NULL,
curID VARCHAR(19) NOT NULL,
savingID INT NOT NULL,
openDate TIMESTAMP NOT NULL,
openMoney DECIMAL NOT NULL,
balance DECIMAL NOT NULL,
`password` VARCHAR(6) NOT NULL,
IsReportLoss BIT NOT NULL,
customerID INT NOT NULL
)

INSERT INTO `cardinfo`(`cardID`,`savingID`,`openMoney`,`balance`,`customerID`)
VALUES('7418529631012345',1,5,200,2),
('8529631234785623',2,4,100,1),
('7415987563214756',3,3,50,3),
('2599774315533222',4,2,30,4)

单独看你创建的这张表,主要有两点问题:

    所有字段都是not null,下面insert插入数据时,没有涉及到的字段都会提示没有默认值,不允许插入,要么create table时设置default值,或者insert时所有字段都带上;

    很明显,cardID字段数据类型char不满足要求,你插入数据时是'7418529631012345'类似这么长的,char默认是char(1),长度不够,应该考虑使用varchar(20)参考;

其他字段数据类型是否合适需要你结合具体系统业务数据情况仔细考虑

目前看上去,跟主键约束没有关系。

请参考

温馨提示:答案为网友推荐,仅供参考
相似回答