SQL alter table适用于MySQL,但不适用于Oracle

时间:2014-04-14 14:34:17

标签: mysql sql oracle11g

我创建了一个表users

create table users (
id int,
name varchar(40)
);

现在我需要name

的默认值

此查询适用于MYSQL,但不适用于Oracle数据库11g XE

alter table users alter name set default 'user';

任何人都可以解释原因吗?

2 个答案:

答案 0 :(得分:1)

在Oracle中,将默认值添加到现有列的语法不同,即:

alter table users
modify (name default 'user');

SqlFiddle here

答案 1 :(得分:0)

我认为正确的查询将是这样的:

ALTER TABLE users MODIFY name VARCHAR(40) NOT NULL DEFAULT 'user';