为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:windows
【CPU】:64
【问题描述】*:创建表报6119最后一行附近出现错误,无效的数据类型
create table sys_dept (
dept_id varchar(20) not null auto_increment comment '部门id',
parent_id varchar(20) default 0 comment '父部门id',
ancestors varchar(50) default '' comment '祖级列表',
dept_name varchar(30) default '' comment '部门名称',
order_num int(4) default 0 comment '显示顺序',
leader varchar(20) default null comment '负责人',
phone varchar(11) default null comment '联系电话',
email varchar(50) default null comment '邮箱',
status char(1) default '0' comment '部门状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
primary key (dept_id)
);
语句存在以下问题:
1.表创建,不能直接在字段后跟comment,需要单独执行comment语句添加注释
2.自增值只能设置在数值型字段上
3.int不能设置宽度
create table sys_dept (
dept_id int not null auto_increment,-- comment '部门id',
parent_id varchar(20) default 0 ,-- comment '父部门id',
ancestors varchar(50) default '' ,-- comment '祖级列表',
dept_name varchar(30) default '' ,-- comment '部门名称',
order_num int default 0 ,-- comment '显示顺序',
leader varchar(20) default null ,-- comment '负责人',
phone varchar(11) default null ,-- comment '联系电话',
email varchar(50) default null ,-- comment '邮箱',
status char(1) default '0' ,-- comment '部门状态(0正常 1停用)',
del_flag char(1) default '0' ,-- comment '删除标志(0代表存在 2代表删除)',
create_by varchar(64) default '' ,-- comment '创建者',
create_time datetime ,-- comment '创建时间',
update_by varchar(64) default '' ,-- comment '更新者',
update_time datetime ,-- comment '更新时间',
primary key (dept_id)
);
comment on column sys_dept.dept_id is '部门id';
试一下修改两个地方:
一、dept_id字段,你要设置成 auto_increment ,修改数据类型为int或bigint
二、order_num字段,int类型不要设置宽度,直接使用int