sql = "ALTER TABLE w ALTER COLUMN q varCHAR(10) NOT NULL"
看看这个语句 怎么修改?
上面的语句去了not就能正常运行,加上not就出错了。
--语句没错!可能是你设置为not null,然后进行插值的时候出现错误
not null:就是不为空!
二问题:
如何修改一个字段名?比如:x1 改为x2
sp_rename 'test.abc','abcd'
--把test表中的abc字段重新命名为:abcd
--他的属性不变!只不过名称变了!
有问题请告之!
❷ SQL 为字段值为空的项添加值
update post set postdate='2007-7-8 14:20:28' where postdate is null
合法的日期字符串可以直接赋值给日期型字段,不用显示转换.
❸ 新手提问~sql给某个空字段添加值~
你说是把cou后面添加CN么,
select
cou+'cn'
from
tab2
where
name='小明'
得出的效果
编号
姓名
cou
1
小明
coucn
❹ sql 如何为空字段赋值
你是在查询的时候操作还是要做更新操作
是空还是null
查询时操作
NULL
select
isnull(字段名,
'复制)
select
replace(字段名,
'
',
'赋值')
更新操作
空
update
表名
set
字段名=内容
where
字段名
=''
NULL
update
表名
set
字段名=内容
where
字段名
is
null
❺ sql语句中如何为新增列指定为NOT NULL
主键肯定不能为not null。
再一个就是看看是否有约束了。
ALTER TABLE 只可以添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;当然,如果前几个条件均未满足,表必须为空以允许添加此列。不能将列"xxx"添加到非空表"xx"中,它不满足上面条件。
alter table xx add 添加列表要是空的
指定列是否可接受空值。如果列不允许空值,则在指定了默认值或表为空的情况下,才能用 ALTER TABLE 语句添加该列。同时指定了 PERSISTED 时,才可以为计算列指定 NOT NULL。如果新列允许空值,但没有指定默认值,则新列在表中的每一行都包含一个空值。如果新列允许空值,并且指定了新列的默认值,就可以使用 WITH VALUES 将默认值存储到表中每个现有行的新列中。
如果新列不允许空值,并且表不为空,那么 DEFAULT 定义必须与新列一起添加;并且,加载新列时,每个现有行的新列中将自动包含默认值。
在 ALTER COLUMN 语句中指定 NULL,可以强制 NOT NULL 列允许空值,但 PRIMARY KEY 约束中的列除外。只有列中不包含空值的时候,才可以在 ALTER COLUMN 中指定 NOT NULL。须将空值更新为某个值后,才允许执行 ALTER COLUMN NOT NULL 语句,例如:
新建不能为空,故要先新建个可以为空的列。
然后强制为空。
下面代码以测试。
alter table 表名 add 列名 nvarchar(20) null
go
UPDATE 表名 SET stuName = N'some_value' WHERE 列名 IS NULL
ALTER TABLE 表名 ALTER COLUMN 列名 NVARCHAR(20) NOT NULL
go
❻ sql语句中如何对某个为空的字段赋值
你是在查询的时候操作还是要做更新操作
是空还是null
查询时操作
NULL
select isnull(字段名, '复制)
select replace(字段名, ' ', '赋值')
更新操作
空
update 表名
set 字段名=内容
where 字段名 =''
NULL
update 表名
set 字段名=内容
where 字段名 is null
❼ 怎样用sql新建一个不为空的字段
创建表的时候:
create table table_name
(
id serial, // ---自增,item---
username char(20) not null, //---非空---
nation char(20) default 'China' //---默认值---
)
修改表的时候:
添加:
alter table table_name add(column_name char(120) default '默认值')
修改:
alter table table_name modify(old_name char(120) default '默认值')
我用的是informix数据库,不过整体上是相同的。你可以尝试一下,或者告诉我你用的是什麽数据库,我再帮你解决。
----------------------正义的分割线----------------------
发现你的问题了,你在修改表结构的时候,要求这个栏位不为空,可是你并没有给表的这个栏位赋值,这个效果就貌似"又要马儿跑,又不给草吃"。其实你只要一开始就给这个栏位赋一个默认值就可以了,如果这个栏位的值为空了,数据库就会给这个栏位赋值为默认值,不会出现真正的为空情况。
你尝试下下面的语句:
alter table [table名] add/modify columnname datatype default(defaultvalue)
❽ 如何用sql语句添加非空列
改变已有表的列字段,使用alter命令;
格式:
alter table 表名 add 新增字段名 字段类型 [列级约束]
例如:alter table student add grade int not null (not null 属于列级约束)
但可能出现以下的情况:
ALTER TABLE 只允许添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。
原因:表中原本有数据(存在很多行),在你新增加非空字段后,原来存在的行中的数据本来为空,但你又要求它非空,这样就矛盾了,所以该命名就不会执行,就会报错。
解决方法:
1、alter table student add grade int 不加非空约束;
2、update table student set grade=60 where grade is NULL 将存在的数据行中的grade字段同一设置成60分;
3、alter table student alter column grade int not null 增加非空约束;
❾ SQL中新增空字段的值等于另外2张表中的字段相乘
假设t2和t3都有一个字段id作为关联
select f2*f3 from t2 join t3 on t2.id=t3.id
❿ 如何用sql语句插入空白列
1、select case when ISNUMERIC(字段)=1 then 汉字 else 字段 end from 表名;
2、select 字段,NULL as 空白列 from 表名;
---
以上,希望对你有所帮助。