2015-09-13 3 views
1

Я пытаюсь запустить этот запрос oh php my admin MySQL, но он не работает.sql синтаксическая ошибка выполнить запрос

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

Я не могу понять, где я ошибаюсь.

Ошибка: # 1170 - BLOB/TEXT колонке «название» используется в ключевых спецификации без длины ключа

+0

PHP моего администратор MySQL –

+0

Совершенных, теперь говорит: # 1170 - BLOB/TEXT колонок «название» используется в ключевой спецификации без ключа длина –

ответ

4

ошибка происходит потому, что вы пытаетесь установить индекс с полями типа TEXT (или BLOB). Mysql не может справиться с этим. Вы должны указать длину для этих полей, но это невозможно сделать, поэтому я думаю, что вы должны использовать VARCHAR для полей и url, потому что TEXT предназначен для очень длинных полей.

Если вы используете VARCHAR (с длиной), вы сможете использовать их в некоторых индексах.

1

Yeap, Эдуардо прав, вы должны попробовать что-то вроде этого:

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