修复逗号并创建名称varchar():
CREATE TABLE `people` (
`_id` INT NOT NULL AUTO_INCREMENT,
`lastName` varchar(255) NOT NULL,
`firstName` varchar(255) NOT NULL,
`JSON` TEXT NOT NULL,
PRIMARY KEY(_id),
CONSTRAINT uc_people_2nd UNIQUE (lastName, firstName)
) ENGINE = INNODB;
请注意,您不必为名称指定唯一约束.您也可以删除约束关键字,以便以下工作正常:
UNIQUE (lastName, firstName)
编辑:
文本数据类型在页面上描述为here,其他“大对象”.这些是任意长的特殊类型(想想兆字节).它们在索引中使用时有限制.特别是,它们需要长度前缀.因此,您无法声明文本列是唯一的.只有它们在前N个字符(最多约1000个)中是唯一的.
对于名字来说,这有点过分. MySQL支持各种类型的字符串类型.最有用的是varchar().这些适用于名称字段.它们可以轻松地与索引一起使用. MySQL支持丰富的功能.
换句话说,如果您不知道文本是什么,则不需要它.如果需要国家字符集支持,请了解并使用varchar()和char()(或nvarchar()和nchar().忘了文字.有一天,如果你需要它,你会重新发现它.