【发布时间】:2016-07-26 18:01:12
【问题描述】:
我发现正在解决这个问题。
使用 InnoDB
CREATE TABLE UserAccount (
UserID INT NOT NULL AUTO_INCREMENT,
Email CHAR(32) NOT NULL UNIQUE,
Password CHAR(32) NOT NULL,
Status TINYINT DEFAULT 0,
PRIMARY KEY(UserID)
);
尝试插入数据。
INSERT IGNORE INTO UserAccount VALUES (NULL, 'test@gmail.com', 3341234, 0);
INSERT IGNORE INTO UserAccount VALUES (NULL, 'test@gmail.com', 3341234, 0);
INSERT IGNORE INTO UserAccount VALUES (NULL, 'test@gmail.com', 3341234, 0);
INSERT IGNORE INTO UserAccount VALUES (NULL, 'test2@gmail.com', 3341234, 0);
test@gmail.com 的UserID 是 1 和
test2gmail.com 的UserID 是 4,而不是 2。
我希望结果是 2。 解决办法是什么?
【问题讨论】:
-
替换成用户帐户值 (4, 'test2@gmail.com, 3341234, 0);
-
如果你想要特定的数字,你必须在 SQL 查询中输入它们,而不是让
NULL。 -
auto_increment 不能那样工作。它不保证连续的数字。
-
我写了一个innodb差距答案Over Here
标签: mysql auto-increment unique-key