1樓:
1.約束主要有一下幾種:
not null : 用於控制欄位的內容一定不能為空(null)。
unique : 控制元件欄位內容不能重複,一個表允許有多個 unique 約束。
primary key: 也是用於控制元件欄位內容不能重複,但它在一個表只允許出現一個。
foreign key: foreign key 約束用於預防破壞表之間連線的動作,foreign key 約束 2. 也能防止非法資料插入外來鍵列,因為它必須是它指向的那個表中的值之一。
check: 用於控制欄位的值範圍。
default: 用於設定新記錄的預設值。
3. not null : 用於控制欄位的內容一定不能為空(null)。
用法 :create table mytable
(id varchar(32) not null,
name varchar (32)
)4. primary key :也是用於控制元件欄位內容不能重複,但它在一個表只允許出現一個。
在sql server、orcale、ms access 支援的新增primary key語法:
create table mytb1
(id nvarchar(32) not null primary key,
name nvarchar(32))
2樓:匿名使用者
看你使用的是什麼資料庫。oracle對大小寫不敏感。欄位型別最好不要直接用
time,date等詞。前面可以加個字首。如t_time。
not null和primary key的書寫順序沒有具體要求有primary key就不需要not null了以上以oracle為準
3樓:匿名使用者
不用,資料庫保留字不區分大小寫
primary key就已經包含not null的意思了
4樓:匿名使用者
既然是primary key就不用設定not null了,因為pk就是唯一非空的
sqlserver不太清楚,在oracle裡,型別一般都是小寫,首字母大寫不大寫沒關係。
除了not null,pk,fk等,如果需要對資料進行排除,可以建立check約束。或者是通過業務**進行資料的校驗。
資料庫欄位設定了預設值,插入資料時,該欄位值為空,會覆蓋了那
假如這個欄位是字元型的,你插入的時候,是插 也就是插入一個值,這個值是空 那就會把這個這段變為空。如果你是想留空,使用預設值。insert語句中就不要新增這個欄位,跳過。會。資料庫中欄位設定的預設值和插入的結果不一致,怎麼辦?解決方案1 insert的sql語句貼出來 解決方案2 先看看你的新增 是...
sap採購訂單長文字的欄位在哪個資料庫表
判斷ekpo repos欄位為空,即為免費在採購訂單介面顯示為欄位umson,其是否專標示免費,邏輯屬如下 if ekpo repos eq space and ekpo ebelp ne space.rm06e umson x else.rm06e umson endif.sap中採購訂單行專案資...
SQL資料庫中如何篩選某表中的時間欄位的範圍
select from 表a where substring convert varchar,欄位名,120 12,8 between 08 00 00 and 10 00 00 試試這樣,看看結果對不 首先 把所有的 轉換成 日期型別,之後用日期 所對應的函式,between and 即可 sql...