oracle修改字段的sql语句 - Oracle
1、添加字段create table ORD(table_nametype,UserName VARCHAR2(30),CUST_IDNUMBER(4));2、删除字段alter table table_name drop column column_name;3、修改字段alter table table_name modify (column_name type);添加字段非空限制报错O
·
1、添加字段
create table ORD
(
table_name type,
UserName VARCHAR2(30),
CUST_ID NUMBER(4)
);
2、删除字段
alter table table_name drop column column_name;
3、修改字段
alter table table_name modify (column_name type);
添加字段非空限制报错
ORA-01758: 要添加必需的 (NOT NULL) 列, 则表必须为空
如上所示, 报上面错误的原因是 表中存在数据, 如果添加非空字段, 肯定是不允许的, 都限制非空了, 其他数据新增的字段没有值, 却限制非空, 肯定是添加不了的
解决方法有两个, 一个是删除表中的数据, 另一个就是给新增的字段设置默认值
- 新增字段设置默认值(常用)
ALTER TABLE ORD ADD price NUMBER(8,2) DEFAULT 0 NOT NULL;
- 删除原表中的数据
-- 删除表中数据 TRUNCATE TABLE ORD; --删除表之前插入的新增字段 alter table ORD drop column PRICE; --插入新增字段 ALTER TABLE ORD ADD price NUMBER(8,2) NOT NULL;
参考文章
更多推荐
所有评论(0)