Eri*_*ler 7 php mysql ubuntu mariadb
我在使用phpmyadmin创建表时遇到问题,这会给我以下错误:
#1089 - 前缀键不正确; 使用的关键部分不是字符串,使用的长度比关键部分长,或者存储引擎不支持唯一的前缀键
这是我的查询:
CREATE TABLE `b2b`.`users` ( `id` BIGINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(30) NOT NULL ,
`surnames` VARCHAR(80) NOT NULL ,
`birthdate` DATE NOT NULL ,
`drivingdoc` VARCHAR(20) NOT NULL ,
`acdate` DATE NOT NULL ,
`countrydoc` VARCHAR(20) NOT NULL ,
`province` VARCHAR(20) NOT NULL ,
`locality` VARCHAR(35) NOT NULL ,
`address` VARCHAR(150) NOT NULL ,
`number` VARCHAR(20) NOT NULL ,
`flat` VARCHAR(20) NOT NULL ,
`door` VARCHAR(20) NOT NULL ,
`description` VARCHAR(2000) NOT NULL ,
PRIMARY KEY (`id`(7))) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
在ubuntu minimal中使用MariaDB.
问题是:
PRIMARY KEY (`id`(7))
Run Code Online (Sandbox Code Playgroud)
你不能使用数字的一部分作为关键,你必须使用整个事物.此外,指定数字类型的长度最多也是无用的,最坏的情况下是有害的.
改成:
PRIMARY KEY (`id`)
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这种主键语法。尝试这个:
CREATE TABLE `b2b`.`users` (
`id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
....
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
或者如果你想要
CREATE TABLE `b2b`.`users` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
....
PRIMARY KEY (id)
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18620 次 |
最近记录: |