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 表名;
---
以上,希望對你有所幫助。