Mysql SQL错误-BLOB/TEXT列';url';用于无键长度的键规格
我正在尝试创建一个表,但出现以下错误:Mysql SQL错误-BLOB/TEXT列';url';用于无键长度的键规格,mysql,sql,Mysql,Sql,我正在尝试创建一个表,但出现以下错误: SQL error - BLOB/TEXT column 'url' used in key specification without a key length 这就是我正在使用的SQL CREATE TABLE recipes ( url TEXT NOT NULL, name TEXT NOT NULL, pic_url TEXT NOT NULL, vegetarian INT NOT NULL,
SQL error - BLOB/TEXT column 'url' used in key specification without a key length
这就是我正在使用的SQL
CREATE TABLE recipes (
url TEXT NOT NULL,
name TEXT NOT NULL,
pic_url TEXT NOT NULL,
vegetarian INT NOT NULL,
ingredients TEXT NOT NULL,
time INT NOT NULL,
rating FLOAT NOT NULL,
ratings_no INT NOT NULL,
keywords TEXT NOT NULL,
UNIQUE (
url
)
);
有人知道我怎么解决这个问题吗?谢谢。BLOB/TEXT的长度为65535
建议使用适合URL长度的
VARCHAR(length)
(拉丁字符集)。您只能为文本或BLOB列的第一列编制索引
UNIQUE (url(512))
将执行此操作,在列的前512个字符上创建索引
但是除非绝对必要,否则应避免使用文本
列,并且几乎不使用索引。它们进入DBMS中单独分配的对象,这使得插入、更新和查询速度变慢。像唯一索引这样的东西也能正常工作。请看这个
请注意,URL工作得最好