mysql 5.7 外键创建异常
创建两张表DROP TABLE IF EXISTS sys_user;
create table sys_user
(
NO varchar(20) not null comment '用户账号' primary key,
PASSWORD varchar(80) not null comment '用户密码',
NAME varchar(20) not null comment '用户姓名',
STATUS int not null comment '用户状态',
ONLINE_FLAG int not null comment '在线状态',
PHONE varchar(20) null comment '办公电话',
MOBILE varchar(20) null comment '手机号码',
EMAIL varchar(40) null comment 'EMAIL',
PHOTO varchar(50) null comment '照片',
LOGIN_IP varchar(20) null comment '登录IP地址',
LOGIN_TIME varchar(20) null comment '登录时间',
LOGIN_TERM varchar(50) null comment '登录终端:终端类型|版本号,如msie|11.0',
PASSWORD_EXPIRATION varchar(10) null comment '密码有效期',
PASSWORD_ERROR int default 0 not null comment '密码错误次数'
)
comment '用户表';
DROP TABLE IF EXISTS data_source_info;
CREATE TABLE data_source_info
(
NO VARCHAR(32) PRIMARY KEY NOT NULL COMMENT '数据源编号',
NAME VARCHAR(20) NOT NULL COMMENT '数据源名称',
TYPE VARCHAR(3) NOT NULL COMMENT '数据源类型',
DESCRIPTION VARCHAR(50) COMMENT '数据源描述',
SCENES INT DEFAULT 1 NOT NULL COMMENT '适用环境:1-生产;2-开发',
URL VARCHAR(200) NOT NULL COMMENT '数据源连接串',
USERNAME VARCHAR(20) COMMENT '用户名',
PASSWORD VARCHAR(32) COMMENT '密码',
CREATE_BY VARCHAR(20) NOT NULL COMMENT '所属用户账号',
CREATE_TIME VARCHAR(20) NOT NULL COMMENT '创建时间',
UPDATE_TIME VARCHAR(20) COMMENT '更新时间',
DELETE_TIME VARCHAR(20) COMMENT '删除时间',
CONSTRAINT FK_DSBI_TYPE FOREIGN KEY (TYPE) REFERENCES data_source_type (NO),
CONSTRAINT FK_DSBI_CREATE_BY FOREIGN KEY (CREATE_BY) REFERENCES sys_user (NO)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据源信息表';
FK_DSBI_CREATE_BY创建失败,错误码1215 。
问题定位与解决:myqsl 5.7,两张外键表都必须引擎一致,用户表换成“ENGINE=InnoDB”.