我是 MySQL 的新手,希望有人能帮助我。
我想创建一个具有两个特殊设置的简单表格:
- 一个两列的主键,包括列“
de
”和“location
” - 生成唯一 ID 的自动递增列“
tID
”, 从 1 开始
我尝试了以下(以及其他几种方法),但这总是返回以下错误:
SQL:
CREATE TABLE TranslationsMain (
de VARCHAR(100) NOT NULL,
tID INT UNSIGNED NOT NULL AUTO_INCREMENT,
location VARCHAR(50) NOT NULL,
classes VARCHAR(100) NOT NULL,
info VARCHAR(100) NOT NULL,
sortOrder INT NOT NULL,
en VARCHAR(100) NOT NULL,
PRIMARY KEY(de, location)
)
错误信息:
"Incorrect table definition; there can be only one auto column and it must be defined as a key."
如果我将自动递增列 ("tID
") 保留在外面,它就会工作,所以这里似乎有问题。
有人可以帮我解决这个问题吗?
非常感谢, 迈克
最佳答案
试试下面的查询,我想这会解决你的问题
CREATE TABLE TranslationsMain (
de VARCHAR(100) NOT NULL,
tID INT UNSIGNED NOT NULL AUTO_INCREMENT,
location VARCHAR(50) NOT NULL,
classes VARCHAR(100) NOT NULL,
info VARCHAR(100) NOT NULL,
sortOrder INT NOT NULL,
en VARCHAR(100) NOT NULL,
PRIMARY KEY(tID),
UNIQUE(de, location))
或
CREATE TABLE TranslationsMain12 (
de VARCHAR(100) NOT NULL,
tID INT UNSIGNED NOT NULL AUTO_INCREMENT,
location VARCHAR(50) NOT NULL,
classes VARCHAR(100) NOT NULL,
info VARCHAR(100) NOT NULL,
sortOrder INT NOT NULL,
en VARCHAR(100) NOT NULL,
unique(tID),
primary key(de,location)
)
关于MySQL:如何通过脚本创建具有自动递增列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30885381/