2017-09-19 57 views
-1
CREATE TABLE tblaccid2(
aAid TEXT(200) NOT NULL, 
aEmail TEXT(88), 
Password TEXT(32), 
Status CHAR(5), 
AccType CHAR(10), 
PRIMARY KEY(aAid) 
) 
#1170 - BLOB/TEXT column 'aAid' used in key specification without a key length 

PLS给可与1个或2个主键工作与2中未主键的例子,主键必须是文本或TINYTEXT数据类型错误创建MySQL表时用PHP

+1

文本类型没有长度属性。除此之外,设置一个文本为主键是疯了 - )) – marmeladze

+1

可能重复的[MySQL错误:没有密钥长度的密钥规范](https://stackoverflow.com/questions/1827063/mysql-error-key-specification-而不-A-密钥长度) – GrumpyCrouton

回答

0

从文档在MySQL Indexes

When you index a BLOB or TEXT column, you must specify a prefix length for the index.

因此,你需要:

PRIMARY KEY (aAid(200)) 

但是,没有理由使用TEXT来处理这样的短字符串。只需将您所有的TEXT列更改为VARCHAR。请参阅Difference between VARCHAR and TEXT in mysql