sql 语法错误执行查询

sql syntax error execute query

我正在尝试 运行 这个查询哦 php 我的管理员 MySQL,但是它不起作用。

CREATE TABLE blog
(
id INT PRIMARY KEY AUTO_INCREMENT,
title TEXT UNIQUE, 
body TEXT,
url TEXT UNIQUE
);

我不明白我哪里错了。

错误:#1170 - BLOB/TEXT 列 'title' 在没有密钥长度

的密钥规范中使用

发生该错误是因为您试图设置一个 index 字段类型为 TEXT(或 BLOB)。 Mysql 无法处理。您应该为这些字段指定一个长度,但这是不可能的,所以我认为您必须对 titleurl[=17 使用 VARCHAR =] 字段,因为 TEXT 用于很长的字段。

如果您使用 VARCHAR(具有长度),您将能够在某些索引中使用它们。

是的,Eduardo 是对的,你应该尝试这样的事情:

CREATE TABLE blog
(
 id INT PRIMARY KEY AUTO_INCREMENT,
 title VARCHAR (50) NOT NULL UNIQUE, 
 body TEXT NOT NULL,
 url VARCHAR (50) NOT NULL UNIQUE
);