创建sessions表失败
来源:3-7 api之数据库层设计
时务者
2018-06-05
CREATE TABLE sessions (
session_id TINYTEXT PRIMARY KEY NOT NULL,
TTL TINYTEXT,
login_name VARCHAR(64)
);
错误: BLOB/TEXT column 'session_id' used in key specification without a key length
3回答
-
同学你好,这个表属于历史遗留问题。session_id 是使用tinytext类型的,但是mysql里面没有长度的primary key是不允许建表时候创建的,所以这个问题用如下方法解决:
CREATE TABLE sessions ( session_id tinytext not null, TTL tinytext, login_name varchar(64) ); ALTER TABLE sessions ADD PRIMARY KEY (session_id(64));
实际上由于session id是一个uuid,那么使用varchar(64)直接创建也是可以的
祝您学习愉快
132018-07-10 -
痞子过
2018-07-10
//表设计语句
create database video default charset utf8;
use video;
create table users(author_id bigint not null primary key auto_increment,
login_name varchar(64) ,pwd text) engine=innodb;
create table video_info(video_id varchar(64) not null primary key,author_id bigint,name text,
display_ctime text,create_time datetime) engine=innodb;
create table session(session_id tinytext not null ,
ttl tinytext,login_name varchar(64)) engine=innodb;
create table comments(command_id varchar(64) not null primary key,video_id varchar(64),
author_id bigint,content text,time datetime
) engine=innodb;
00 -
sliverg
2018-06-05
TINYTEXT ,作为主键, 这个类型要添加长度的 ,不然系统没法办证唯一性,但是 TINYTEXT 这个没有长度,所以建议加一个自增主键
012018-06-05
相似问题