sql如何設定某一列的值為預設值且不可更改

2021-03-04 05:17:11 字數 1356 閱讀 9352

1樓:匿名使用者

default預設值的話,bai建立表的

du時候建立就可以,讓某一zhi列不可被更改需要用觸dao發器。

專建立表:

create table test

(id int,

委託日期 datetime default getdate());--建立test表,屬其中委託日期欄位預設值為系統當

前時間建立觸發器:

create trigger aaa on test --aaa為觸發器名稱

for update

asif update (委託日期)

rollback transaction

測試:1、

test表中插入資料:

insert into test(id) values (1)此時表中資料如下:

2、修改這條資料的委託日期:

update test set 委託日期='2017-03-20' where id=1

這樣也就做到了,那列不允許更改

sql中某列的預設值可以設定為變數麼?

2樓:匿名使用者

sql中可以設定抄

某列的預設值為變數。

以創襲建一個表,時間

欄位為當前時間為例,可用如下語句:

create table test

(id int,

begin_time datetime default getdate())

插入測試資料:

insert into test(id) values (1)結果:繼續插入第二條測試資料:

insert into test(id) values (2)結果:由此可見,時間是隨著當前的時間變化的。

3樓:匿名使用者

預設可以改,但改預設值不會改動已經存在的行,隻影響以後增加的新行,預設值隻影響插入的行且未給此欄位設定值的行。 列的複製 只要 update tb set a=b 即可。

4樓:匿名使用者

不清楚您的資料庫是什麼型別與狀況,如果是在oracle中,如果源資料已經在資料庫中,內用普通的容insert或是update就可以實現。如果在源列中每加入一個新的資料需要在另一列中加入同樣的新資料,需要寫一個trigger。不同的資料庫表現應該差不多。

5樓:匿名使用者

根據你列的型別,日期是絕對可以的,now就是一個變數將一個列給另一個列,應該就沒有這樣的直接給預設值的功能但是可以使用觸發器來自動完成

6樓:匿名使用者

不行,要麼自增,或者有個值範圍。

【極品飛鴿】作答

sql語句 給表增加一列並設定預設值

alter table t1 add user id varchar 10 default 000001 向表t1新增欄位user id,預設值000001 alter table 表名 add 列名 列型別 default 預設值。sql server 中怎麼給表中增加一列 alter table...

ecel2019如何設定某一列大於另一列的話改變單元

選擇b列,在 條件格式 中,以公式建立規則,輸入 a1 詳見附圖 用條件格式即可。看不見圖,不好給你詳解 在excel中如何設定條件格式使某列的數值大於另一列數值時顯紅色 就是把整列選中,在條件格式裡設定兩個條件,等於a格式藍色,等於b格式紅色就行了。excel的一列資料小於另一列資料字型變紅色怎麼...

sqlserver如何限制某一列值的數值長度如在某

看了check意思你新增check約束。alter table tablename add constraint chk column check column 100000 and column 999999 在sql server中可以採用增加約束的方法來固定某一欄位的長度必須為某一長度。比如 ...