MySQL #1089 在 phpMyAdmin 中创建表时出错

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30864976/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 21:06:06  来源:igfitidea点击:

#1089 Error when creating table in phpMyAdmin

mysql

提问by R.K.

While creating a table I'm getting error #1089- Incorrect Prefix Key.

在创建表时,我收到错误 #1089- 不正确的前缀键。

My sql code :

我的 sql 代码:

CREATE TABLE `buildblockz`.`db_user_info` ( `BBZUID` INT(11) UNSIGNED   NOT NULL AUTO_INCREMENT COMMENT 'User''s Id' , `username` VARCHAR(255) NOT NULL COMMENT 'User''s username' , `password` VARCHAR(255) NOT NULL COMMENT 'User''s password' , `fname` VARCHAR(255) NOT NULL COMMENT 'User''s First Name' , `mname` VARCHAR(255) NULL COMMENT 'User''s Middle Name' , `lname` VARCHAR(255) NOT NULL COMMENT 'User''s Last Name' , `line1` VARCHAR(255) NOT NULL COMMENT 'User''s Address Line 1' , `line2` VARCHAR(255) NULL COMMENT 'User''s Address Line 2' , `city` VARCHAR(255) NOT NULL COMMENT 'User''s Address City' , `state` VARCHAR(255) NOT NULL COMMENT 'User''s Address State' , `pincode` INT(11) UNSIGNED NOT NULL COMMENT 'User''s Address Pincode' , `email` VARCHAR(255) NOT NULL COMMENT 'User''s Contact Email' , `mobile` INT(11) UNSIGNED NULL COMMENT 'User''s Contact Mobile' , `phone` INT(11) UNSIGNED NULL COMMENT 'User''s Contact Phone' , `sex` ENUM('M','F','NS') NOT NULL COMMENT 'User''s Sex' , `dateOfBirth` DATE NOT NULL COMMENT 'User''s Date of Birth' , `designation` VARCHAR(255) NULL COMMENT 'User''s Designation' , `dateOfEntry` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'User''s Date of Entry' , PRIMARY KEY (`BBZUID`(9)) , UNIQUE (`username`(30)) ) ENGINE = InnoDB COMMENT = 'User''s Database';

回答by Jens

You have to remove the length of the key:

您必须删除密钥的长度:

PRIMARY KEY (`BBZUID`) , 

instead of

代替

PRIMARY KEY (`BBZUID`(9)) , 

回答by Koyel Sharma

SQL code

SQL代码

instead of primary key('id'(10));

代替 primary key('id'(10));

it would be primary key('id');

这将是 primary key('id');

回答by mamal

  1. go to preview SQL
  2. copy SQL syntax
  3. change this part of SQL syntax:

    PRIMARY KEY (BBZUID(9)) -> PRIMARY KEY (BBZUID)

  1. 去预览 SQL
  2. 复制 SQL 语法
  3. 更改这部分 SQL 语法:

    主键 ( BBZUID(9)) -> 主键 ( BBZUID)