SQL中可以设置某列的默认值为变量。
以创建一个表,时间字段为当前时间为例,可用如下语句:
create table test
(id int,
begin_time datetime default getdate())
其中default getdate()则为当前的时间:
插入测试数据:
insert into test(id) values (1)
结果:
继续插入第二条测试数据:
insert into test(id) values (2)
结果:
由此可见,时间是随着当前的时间变化的。
默认可以改,但改默认值不会改动已经存在的行,只影响以后增加的新行,默认值只影响插入的行且未给此字段设置值的行。 列的复制 只要 update tb set a=b 即可。
根据你列的类型,日期是绝对可以的,now就是一个变量将一个列给另一个列,应该就没有这样的直接给默认值的功能但是可以使用触发器来自动完成
不行,要么自增,或者有个值范围。
【极品飞鸽】作答
不清楚您的数据库是什么类型与状况,如果是在Oracle中,如果源数据已经在数据库中,用普通的Insert或是Update就可以实现。如果在源列中每加入一个新的数据需要在另一列中加入同样的新数据,需要写一个Trigger。不同的数据库表现应该差不多。