如何将mssql数据库的某个字段为固定数字

例:数据库名 tool ,表名AAA,字段分别为T1,T2,T3
我想将T2固定为1800,不能变化,不能被修改,只有在数据库里直接操作或动作才可以修改。
(因为有bug,我的程序总是被网站篡改。非常让人生气。)

请高手明确说明。

当然有啊,不需要语句,有了语句去查询权限全部要改,直接改结构。

    设置成默认值

     

    修改他的取值规则,可以是个范围可以是  =1800

    你会了吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-10

分两步吧

第一步,先把T2字段改成全部为1800

UPDATE AAA SET T2=1800

第二步,给T2字段加一个CHECK约束

alter table AAA add constraint [CK_T2] check (T2 =1800)

从此就没人能改了

追问

constraint [CK_T2] 其中的T2是我所说的字段T2是吧。
修改之后是不是在设计表 默认值那里的默认值会变成(1800)

追答

那个名字你可以自定义,你要先执行第一句,让所有的都为1800,然后再执行alter这句

那个名字你可以自定义,你要先执行第一句,让所有的都为1800,然后再执行alter这句

追问

我手动将T2设置成1800,然后执行的第二步 alter ,其结果比那话就是默认值变为(1800) 不知是否正确

追答

跟默认值没关系,以后T2只能写入1800

追问

就这里有变化 默认值

追答

不用默认值,写不写没关系,大姐,你还不困吗

追问

昨天确实睡着了,
alter table AAA add constraint [CK_T2] check (T2 =1800)
这一句执行了以后,我发现就是我给的这个图本来默认值是空的,执行以后默认值是(1800),其实我想问下你可否将数据库执行这一条前后的变化给我截个图呢亲?

追答alter table AAA add constraint [CK_T2] check (T2 =1800)

执行这句前,数据里T2必须都为1800,否则你这句执行不过去,所以让你先执行update那句

 

所谓的默认值,只是在你不给这个字段写入值时,默认系统会个它填上某个数,我还是

你吧,查收下哦,屏幕右上角

本回答被网友采纳
第2个回答  2014-01-10
设置默认值,新增记录时会自动添加