首字母 6 个字符匹配时出现重复输入键错误

问题描述 投票:0回答:1

我有一个表

BLE_PINS
,其中包含 TN、MAC、PIN 和日期列。 MAC 是主键。进入时

INSERT INTO `BLE_PINS` (`MAC`, `PIN`) VALUES ('SEEP413E68','99933');

我收到错误

#1062 - 密钥“PRIMARY”的重复条目“SEEP41”。

它似乎只匹配前 6 个字符。有办法改变吗?

表定义:

CREATE TABLE BLE_PINS ( 
    TN varchar(16) DEFAULT NULL, 
    MAC varchar(100) NOT NULL, 
    PIN varchar(6) NOT NULL, 
    Date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    PRIMARY KEY (MAC(6)) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1
sql mysql primary-key
1个回答
1
投票
PRIMARY KEY (MAC(6)) 

表示仅应使用

MAC
的前6个字符作为主键。如果您希望整列成为键,请使用

PRIMARY KEY (MAC) 
© www.soinside.com 2019 - 2024. All rights reserved.