Emi*_*mil 0 php mysql sql unique duplicates
嘿.
首先,我不得不说这是我第一次尝试编写SQL,这意味着我是一个n00b.请耐心等待..
现在,我正在尝试在我的数据库中创建一个名为"push"的表,如下所示:
CREATE TABLE push
(id int NOT NULL AUTO_INCREMENT,
UDID varchar(40) NOT NULL,
token varchar(64) NOT NULL,
lastpost int DEFAULT '0',
PRIMARY KEY(id),
UNIQUE KEY(id, UDID, token));
Run Code Online (Sandbox Code Playgroud)
这有效,但不如预期.如果我现在尝试在这里插入一些值,如下所示:
INSERT INTO push (UDID, token, lastpost)
VALUES ('123456789abcdefghijklmnopqrstuvwxyz', 'abcdefghijklmnopqrstuvwqyz123456789', 211);
INSERT INTO push (UDID, token, lastpost)
VALUES ('123456789abcdefghijklmnopqrstuvwxyz', 'abcdefghijklmnopqrstuvwqyz123456789', 211);
Run Code Online (Sandbox Code Playgroud)
在我看来,这会导致错误,因为UDID和令牌是相同的,但它根本不会触发任何错误,它只是插入副本.
我可能在这里遗漏了一些东西,但我找不到什么.如何使此返回预期结果?
谢谢.
Nan*_*nne 10
这个:
UNIQUE KEY(id, UDID, token));
Run Code Online (Sandbox Code Playgroud)
意味着这3个的组合应该是唯一的.对于2行,id字段(自动增量)将不同,因此它将满足该规则
如果组合应该是唯一的,那就不用了 id
UNIQUE KEY(UDID, token));
Run Code Online (Sandbox Code Playgroud)