CREATE TABLE registers(
User_ID INT UNSIGNED NOT NULL PRIMARY KEY,
IP INT UNSIGNED NOT NULL INDEX,
Success TINYINT UNSIGNED NOT NULL,
Time_Created DATETIME NOT NULL)
我收到此错误:
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'INDEX, 附近使用的正确语法 成功 TINYINT UNSIGNED NOT NULL, Time_Created DATETIME NOT NULL)' 在第 3 行
最佳答案
要在 CREATE TABLE 语句中定义内联索引,您需要将其放在单独的 'create definition' 上。行:
CREATE TABLE registers(
User_ID INT UNSIGNED NOT NULL PRIMARY KEY,
IP INT UNSIGNED NOT NULL,
INDEX(IP),
Success TINYINT UNSIGNED NOT NULL,
Time_Created DATETIME NOT NULL
);
您还可以将索引定义放在表定义之外,like so :
CREATE INDEX IX_registers_ip ON registers(IP);
给索引命名是一种很好的做法,这样可以准确地引用它。
关于mysql - MySQL 主键和添加索引时遇到问题(错误#1064),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29642089/