sql语法错误执行查询

时间:2015-09-13 20:22:28

标签: mysql sql database syntax

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

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

我无法理解我错在哪里。

错误:#1170 - 没有密钥长度的密钥规范中使用的BLOB / TEXT列'title'

2 个答案:

答案 0 :(得分:4)

发生错误是因为您尝试使用TEXT(或BLOB)类型的字段设置索引。 Mysql无法处理。你应该为这些字段指定一个长度,但这是不可能的,所以我认为你必须使用VARCHAR来获取 title url 字段,因为TEXT很长字段。

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

答案 1 :(得分:1)

Yeap,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
);