改变已有表的列
字段,使用alter命令;\r\n格式:\r\nalter table 表名 add 新增字段名 字段类型 [列级
约束]\r\n\r\n例如:alter table student add grade int not null (not null 属于列级约束)\r\n\r\n但可能出现以下的情况:\r\nALTER TABLE 只允许
添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。\r\n\r\n原因:表中原本有数据(存在很多行),在你新增加非空字段后,原来存在的行中的数据本来为空,但你又要求它非空,这样就矛盾了,所以该命名就不会执行,就会报错。\r\n\r\n解决方法:\r\n1、alter table student add grade int 不加非空约束;\r\n2、update table student set grade=60 where grade is NULL 将存在的数据行中的grade字段同一设置成60分;\r\n3、alter table student alter column grade int not null 增加非空约束;
在VBF中打开一个DBC数据库。
点表-添加-另一DBC数据库中某DBF表,注意表名称不能与已有表同名。
或者将另一数据库DFC表复制粘贴到所需路径,用上述方法添加。
你的语法不对,当然出错,详细语法参阅SQL联机丛书
--添加非空约束
ALTER TABLE LOVO ALTER COLUMN NAME VARCHAR(20) NOT NULL
--添加默认约束
ALTER TABLE LOVO ADD CONSTRAINT name_default DEFAULT 'zhouqiang' FOR NAME
评论列表(0条)