【问题标题】:sql syntax error execute query [closed]sql语法错误执行查询[关闭]
【发布时间】:2015-09-13 20:22:27
【问题描述】:

我正在尝试运行此查询哦 php my admin MySQL,但它不起作用。

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

我不明白我错在哪里。

错误:#1170 - 密钥规范中使用了 BLOB/TEXT 列“标题”,没有密钥长度

【问题讨论】:

  • 完美,现在说:#1170 - BLOB/TEXT 列“标题”在没有密钥长度的密钥规范中使用

标签: mysql sql database syntax


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    是的,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
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      相关资源
      最近更新 更多