使用文本数据类型在mysql中创建表

使用文本数据类型在mysql中创建表,mysql,primary-key,Mysql,Primary Key,我在mysql中创建了一个表,但当我将列数据类型添加为文本时,mysql将其定义为主键 有谁能告诉我必须做些什么,才能在文本数据类型上不启用主键。我几乎可以肯定,您必须定义键的长度。密钥的最大长度为767字节 CREATE TABLE `long` ( `data` text NOT NULL, PRIMARY KEY (`data`(100)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 您可以显示您的查询吗?您的问题在于创建表的DDL。这是一种很糟糕

我在mysql中创建了一个表,但当我将列数据类型添加为文本时,mysql将其定义为主键


有谁能告诉我必须做些什么,才能在文本数据类型上不启用主键。

我几乎可以肯定,您必须定义键的长度。密钥的最大长度为767字节

CREATE TABLE `long` (
  `data` text NOT NULL,
  PRIMARY KEY (`data`(100))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

您可以显示您的查询吗?您的问题在于创建表的DDL。这是一种很糟糕的提问方式。通过创建方式、执行什么查询等细节来更改您的问题。我不想将文本数据类型定义为主数据类型,但mysql自己做。mysql本身不定义键。您的客户可能会这样做。