【问题标题】:BLOB/TEXT column 'name' used in key specification without a key length ( 'name' NOT PIMARY WTF )密钥规范中使用的 BLOB/TEXT 列“名称”没有密钥长度(“名称”不是 PIMARY WTF)
【发布时间】:2021-09-16 01:25:08
【问题描述】:

我很抱歉,但我不明白发生了这种情况。所以。

CREATE TABLE carsindrive (
  `id` int(255) NOT NULL PRIMARY KEY,
  `name` text NOT NULL,
  `year` int(255) NOT NULL,
  `car_color` varchar(255) NOT NULL,
  FOREIGN KEY(`name`) REFERENCES `cars`(`name`),
  FOREIGN KEY(`year`) REFERENCES `cars`(`year`),
  FOREIGN KEY(`car_color`) REFERENCES `cars`(`car_color`)   
);

为什么会出现这个错误?

#1170 - 密钥规范中使用的 BLOB/TEXT 列“名称”没有密钥长度

【问题讨论】:

    标签: mysql datatables phpmyadmin


    【解决方案1】:

    这是基本限制,你可以看这里

    https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html

    “不支持外键列上的索引前缀。因此,BLOB 和 TEXT 列不能包含在外键中,因为这些列上的索引必须始终包含前缀长度。”

    【讨论】:

    • 哦...谢谢!
    猜你喜欢
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多