Bri*_*Roy 0 mysql alter-table mysql-8.0
下面是我的表架构
create table employee(
emp_id numeric(4),
fname varchar(10),
lname varchar(10),
mgr_id numeric(4),
hire_date date,
job_id numeric(2),
dept_id numeric(3)
);
Run Code Online (Sandbox Code Playgroud)
现在我想使用ALTER Table
命令 withAlter Column
而不是Modify
从这里
以下是我的命令:-
ALTER TABLE employee ALTER COLUMN dept_id int(8);
但我收到一条错误,指出语法错误:-
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int(8)' at line 1
Run Code Online (Sandbox Code Playgroud)
现在,如果我使用Modify
它可以工作,那么为什么 ALTER COLUMN 不起作用。根据官方文档,该命令是正确的。我正在使用 MySQL 8.0 。
看来您对手册有误解。
从您提到的链接中,语法更改列用于:
ALTER [COLUMN] col_name {
SET DEFAULT {literal | (expr)}
| SET {VISIBLE | INVISIBLE}
| DROP DEFAULT
}
Run Code Online (Sandbox Code Playgroud)
以下命令将正常工作。
ALTER TABLE employee ALTER COLUMN dept_id set default 111;
Run Code Online (Sandbox Code Playgroud)
根据数据类型的更改,您必须使用 MODIFY COLUMN 或 CHANGE COLUMN
ALTER TABLE employee MODIFY COLUMN dept_id int(8);
ALTER TABLE employee CHANGE dept_id dept_id int(8);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
711 次 |
最近记录: |