首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql中的auto解决方法

2012-10-13 
sql中的auto表中有一字段datecreated,想每次往表插入数据时 datecreated字段自动增加当前系统时间SQL code

sql中的auto
表中有一字段 datecreated ,想每次往表插入数据时 datecreated 字段
自动增加当前系统时间

SQL code
alter table taadd datecreated date defalut getdate()

我知道上面的可以,但我不想用defalut ,defalut可以被用户修改
请问我该怎么写
datecreated 不是主键

[解决办法]
SQL code
只能用default不想被修改的话就使用触发器处理,或者前台程序控制,不让修改这一列
[解决办法]
不给手工插入数据,通过用户权限管理来解决
[解决办法]
可以换个角度,有没有考虑在前台来实现,
[解决办法]
ta表的datecreated字段创建默认约束为getdate()。
然后在相关的insert语句、update语句中不出现datecreated字段的操作,比如:
insert into ta (这里的字段列表中不要出现datecreated字段) values (...)。因为你创建过默认约束了,SQL会自动根据默认的值getdate()将当前日期插入到datecreated字段中。
[解决办法]
你可以让客户来输入数据,但是前端程序和数据库的存储过程或者sql语句要控制好,这样就可以避免客户乱改拉,用触发器一旦报错了调试起来不容易处理。

热点排行