下面是我的表模式
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)
);现在,我想将ALTER Table命令与Alter 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现在,如果我使用Modify,它可以工作,那么为什么ALTER不是working.The命令是正确的,就像官方文档一样。我正在使用MySQL 8.0。
发布于 2023-03-25 17:02:16
看来你误解了手册。
在您提到的链接中,将语法alter列用于:
ALTER [COLUMN] col_name {
SET DEFAULT {literal | (expr)}
| SET {VISIBLE | INVISIBLE}
| DROP DEFAULT
}以下命令将正常工作。
ALTER TABLE employee ALTER COLUMN dept_id set default 111;根据数据类型更改,必须使用修改列或更改列。
ALTER TABLE employee MODIFY COLUMN dept_id int(8);
ALTER TABLE employee CHANGE dept_id dept_id int(8);https://dba.stackexchange.com/questions/325175
复制相似问题