Sql 导入时的主要关键问题

Sql 导入时的主要关键问题,sql,primary-key,navicat,Sql,Primary Key,Navicat,我正在建立一个数据库,并已将字段a,Release设置为主要字段。我遇到了一个问题,发现了重复的密钥,导致导入时出错。 具体来说,release 49221是特定网站的特定版本的价值。在另一个网站上,发布是0000000049221 版本49221与版本00000000 49221完全不同。是否有一种方法可以将它们导入到同一个表中,同时仍保留字段release作为主键?您需要将主键定义为CHAR或VARCHAR,而不是整数值。这通常发生在给定隐式转换时,请检查主键的类型 例如: CREATE T

我正在建立一个数据库,并已将字段a,Release设置为主要字段。我遇到了一个问题,发现了重复的密钥,导致导入时出错。 具体来说,release 49221是特定网站的特定版本的价值。在另一个网站上,发布是0000000049221


版本49221与版本00000000 49221完全不同。是否有一种方法可以将它们导入到同一个表中,同时仍保留字段release作为主键?

您需要将主键定义为CHAR或VARCHAR,而不是整数值。

这通常发生在给定隐式转换时,请检查主键的类型

例如:

CREATE TABLE TEST
(
  COLUMN_1 INT,
  COLUMN_2 VARCHAR(8)
)

INSERT INTO TEST
VALUES (4566,'00004566')

SELECT * FROM TEST WHERE COLUMN_1 = COLUMN_2
第二列,它转换为int,左边的零消失,因为数字左边的零没有你知道的值


将第二列类型更改为varchar或char类型

字段的数据类型是什么?如果是int,db将忽略前导零,使两个值相同。字段的数据类型是bigint13,我认为这正是发生的情况。从零开始学习,很高兴知道这一点,谢谢