1樓:手機使用者
不可能吧 不能為null 和不能為""不是一回事 設定的不能為空間就是說在插入資料時不能不給值,但可以給""
怎樣用sql新建一個不為空的欄位
2樓:匿名使用者
建立表的時候:
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)
3樓:匿名使用者
alter table aaww add field77 int not null
在sql2000中應該可以新增啊
資料庫是否對了`
建一個有預設值的欄位:
atler constraint 約束名 default('值') for 欄位
4樓:佳樂比海
1.alter table aaww add field77 int null(只去掉了null,sql server不能新增非空的欄位,因為添進去了,如果這個表已有資料,這個欄位又沒賦值,則約束不完整)
2.alter table aaww
add constraint df_field77 default(77) for field77(77為預設值)
5樓:萬年冰霜
是什麼sql?
如果是mysql的話,不能用int,要用number還有報錯報的什麼。自己看下報錯就知道了
雖然不精通sql,不過你的命令也寫得太……不規範了。
6樓:匿名使用者
建表的話,不用這麼麻煩吧,還用sql來建表;
推薦你是用erwin,圖形化資料庫設計工具,可以自動生成表,修改也方便,設定索引,預設值都很很簡單的,完全是圖形化的,不用寫一行**;
當然,會寫sql,也是必要的,雖然工作中很少用到這些建表語句;
7樓:匿名使用者
應該這麼寫
alter table aaww add field77 int not null
default 1 with values下面的default就是預設值,
8樓:匿名使用者
推薦樓主使用phpmyadmin圖形化介面,那裡面有sql語句(自動生成)
sqlserver建表時先判斷表有沒有存在
1 開啟資料庫選中要建立表的資料庫,在資料庫中開啟表,然後點新建,建立表,就會出現一個建表視窗。2 在這裡可以輸入設定相關表的結構型別,在新視窗輸入資料型別欄位名稱和大小。3 每個表為了資料的唯一,提高查詢效能都需要建立一個主鍵,這個欄位沒什麼意義。只是起個標識。4 主鍵一般可以設為數字或字串,在這...
怎麼匯出Sql Server資料庫表結構和資料的指令碼
開啟sql server 2008 後,選擇你要匯出的資料庫 2在資料庫上 右擊,選擇 任務 生成指令碼 3進入簡介頁面,直接點選 下一步 就可以了4選擇物件頁面,可以選擇匯出整個資料庫的指令碼,或者其中的部分表,很靈活 5進入設定指令碼選項,首先把匯出的路徑選擇好防止一會兒忘記設定路徑,找不到導去...
怎樣檢測sqlserver資料庫的錶快要滿了
沒辦法檢測,要看你設定的閾值了 如何檢視sqlserver資料庫每個表佔用的空間大小 sql server 怎麼查資料庫有多少個表 sql server 數表 select count 1 from sysobjects where xtype u 數檢視 select count 1 from s...