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 无法处理。您应该为这些字段指定一个长度,但这是不可能的,所以我认为您必须对 title 和 url[=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
);
我正在尝试 运行 这个查询哦 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 无法处理。您应该为这些字段指定一个长度,但这是不可能的,所以我认为您必须对 title 和 url[=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
);