当要插入表中所有字段都有默认值且希望插入的所有数据都为默认值时怎么写? 一个表,主键自动生成,其他字段都有默认值,如何写insert语句才能使所有字段都使用默认值?sqlinsert默认值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert into tb(col1,col2,col3) values(default,default,default) 至少有一个非identity字段的值,lz需要给赋值(可以写成跟默认值一样)才行。 默认值其实可以覆盖的啊,那你可以这样写:insert into tb(非id列的所有列)values(这里对应的列,并且把相关的默认值直接写上去) 不知道lz是什么逻辑,如果除了标识列其他全部都有默认值的话,insert into tb(非标识列的其中一个列) values(default)只标明一个列即可实现全部列插入默认值 不要那么急于推翻需求我的系统允许用户通过程序对数据库元数据进行修改,设计实现目的是记录对元数据的操作日志,时间戳、操作的表名、列名、当前用户名等等字段都是取自默认值中的元数据的系统函数,程序当用户对数据库的任何元数据更改时进行insert记录,我请问这全表默认值怎么就不合理了?我只是认为写default多余,不过如果没别的办法,那就只能写了... 数据库实例可能是不同类型的,比如mySql、SqlServer、DB2等等,默认值都是取自数据库系统自身的函数,而不是我给的,insert的时候我也不知道运行值是什么。认为不合理可以,但必须给出更合理的解决方案,否则你的话会显得很没有说服力。 每个dbms都有自己的系统函数,你这样不是每个dbms都要改吗?我也不觉得你这个是好的方案啊。你要获取系统信息,那就直接用:insert into xxxxselect username(),getdate(),xxxx这种方式来就行拉,上面是SQLServer的。 另外,我不懂其他dbms,就SQLServer而言,1:你改不了元数据。2:高版本的SQLServer可以直接读dmo(dmv+dmf)。3:2008可以用ddl触发器,这个我已经部署在我们公司的正式环境,而且几乎就没用到什么默认值,只是读取系统函数插入表里面,比如getdate()、username()、DB_ID()等等。 正因为每个dbms都有自己的系统函数,所以我才不能在insert时给出,而是通过默认值的形式,因为dba会根据数据库的类型配置这些默认值,我只是insert而已。如果按你这样我还得获取dbms的类型和系统函数表,那不是更麻烦么?为啥我改不了元数据?要作的是记录元数据的修改日志,而不是禁止元数据修改。 终于给我从几千个贴里翻出来了,这是最接近你要的东西了:insert into [tb] default values 这的确很好用,比之前的简洁多了,这是一种T-SQL写法么?我去找个小本本记下来 我之前见过,然后花了半个小时翻了几千个贴找出来的累死我了,原帖地址,看11楼:http://bbs.csdn.net/topics/390314499 ●●急●●非常簡單的菜鳥問題● ●請給我指一條明路吧●大●俠● 在線給分 按时间间隔分组问题 xp能装sql server吗 请教SQL语句。 触发器的执行内容为什么不能被探查器探查到呢? excel导入sql server2005的问题 如何用命令语句查看数据库结构????? char 列名 无效 谁有SQL Server常用系统存储过程功能及使用参考列表?及如何往表里写日志? 还是关于触发器的提问,澄清一下,再提个问题!!! 行对比,少于3分钟则当一条记录 求一自动编号处理以下需求,谢谢
insert into tb(非id列的所有列)
values(这里对应的列,并且把相关的默认值直接写上去)
insert into tb(非标识列的其中一个列) values(default)
只标明一个列即可实现全部列插入默认值
我的系统允许用户通过程序对数据库元数据进行修改,设计实现目的是记录对元数据的操作日志,时间戳、操作的表名、列名、当前用户名等等字段都是取自默认值中的元数据的系统函数,程序当用户对数据库的任何元数据更改时进行insert记录,我请问这全表默认值怎么就不合理了?
我只是认为写default多余,不过如果没别的办法,那就只能写了...
insert into xxxx
select username(),getdate(),xxxx
这种方式来就行拉,上面是SQLServer的。
1:你改不了元数据。
2:高版本的SQLServer可以直接读dmo(dmv+dmf)。
3:2008可以用ddl触发器,这个我已经部署在我们公司的正式环境,而且几乎就没用到什么默认值,只是读取系统函数插入表里面,比如getdate()、username()、DB_ID()等等。
为啥我改不了元数据?要作的是记录元数据的修改日志,而不是禁止元数据修改。
insert into [tb] default values
http://bbs.csdn.net/topics/390314499