相关疑难解决方法(0)

MySQL错误:没有密钥长度的密钥规范

我有一个主键是一个varchar(255)的表.出现了一些情况,其中255个字符是不够的.我尝试将字段更改为文本,但是我收到以下错误:

BLOB/TEXT column 'message_id' used in key specification without a key length
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

编辑:我还应该指出这个表有一个包含多列的复合主键.

mysql sql mysql-error-1170

335
推荐指数
7
解决办法
34万
查看次数

MySQL varchar索引长度

我有这样一张桌子:

CREATE TABLE `products` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

和这样的一个:

CREATE TABLE `product_variants` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `product_id` int(11) unsigned NOT NULL,
  `product_code` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `product_code` (`product_code`),
  KEY `product_variant_product_fk` (`product_id`),
  CONSTRAINT `product_variant_product_fk` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1037 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

和这样的SQL语句

SELECT p.id AS id, p.name AS name, p.description AS description, pv.id …
Run Code Online (Sandbox Code Playgroud)

mysql indexing varchar

32
推荐指数
1
解决办法
6万
查看次数

Sequelize数据类型TEXT不能与mySQL一起使用

我正在使用sequelize ORM和mySQL数据库.

我有一个属性类型为TEXT的模型:

description: {
            type: Sequelize.TEXT,
            unique: true
        },
Run Code Online (Sandbox Code Playgroud)

当我尝试为相应的模型创建表时,它给出一条错误消息:

未处理的拒绝SequelizeDatabaseError:ER_BLOB_KEY_WITHOUT_LENGTH:BLOB/TEXT列'描述'用于密钥规范而没有密钥长度

当与postgreSQL一起使用时,这很好用.我能想到的这个错误的可能原因可能是mySQL不支持TEXT数据类型,因此,我必须将其指定为LONGTEXT.

如果我的想法正确或有其他原因,如果有人可以提供帮助.

mysql sqldatatypes node.js sequelize.js

5
推荐指数
2
解决办法
6099
查看次数

MySQL中国家/地区的数据类型

我正在为自己创建一个数据库,我有一个注册表格,要求人们提供他们的姓名,密码,电子邮件,手机,年龄和位置.希望它会像约会网站一样.

到目前为止我有(对于我的数据库)

create table members(
    user VARCHAR(16),
    password VARCHAR(16),
    email VARCHAR(320),
    mobile VARCHAR(15),
    age INT(3)
    #location ???
    INDEX(user(6));
)
Run Code Online (Sandbox Code Playgroud)

编辑 忘了问这个问题

应该使用什么数据类型location,数据库看起来足够安全吗?

位置是按国家/地区,并通过下拉菜单选择.

mysql database

1
推荐指数
1
解决办法
4307
查看次数