黑马程序员技术交流社区

标题: sql语句中的alter 语句 [打印本页]

作者: 王毅    时间: 2013-3-11 16:17
标题: sql语句中的alter 语句
比如已经建好一个表格 需要再为此表格添加一个字段
例如  alter table Employee add high int not null   
执行的时候系统会提示   alter table Employee add high int not null  

ALTER TABLE 只允许添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。不能将列"high"添加到非空表"Employee"中,因为它不满足上述条件。   如果必须要 数据必须是  not null  应该怎么填写
作者: 许庭洲    时间: 2013-3-11 22:40
1.ALTER TABLE语句规定了两种修改方式:添加字段和删除字段,有的数据库系统中还提供了修改表名,修改字段类型,修改字段名称的语法;
2。ALTER TABLE 待修改的表名 ADD 字段名 字段类型
3。在语句中需要指定要修改的表的表名,要增加的字段名以及字段的数据类型,其使用方式和创建表的非常类似。
作者: 曾玉锋    时间: 2013-3-11 23:48
已经建好,并添加了数据的表格不允许添加not null 的新列

如果,需要在原表上增加新列,要么用truncate table ****  清空数据,再添加not null 新列  就可以
要么,建一张新表并把原表中的数据导入
作者: 易鹤龙    时间: 2013-3-12 13:43
先设置此增加的字段可以为空。然后将所有记录的此字段赋上默认值,再修改此字段为not nll。ok
作者: .netNo1    时间: 2013-6-19 17:24
把 not null 去掉
作者: .netNo1    时间: 2013-6-19 17:25
可以再表设计中更改是否为空




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2