在插入数据时,在数据库表中,加上timestamp 能自动添加时间么。
datatime 类型 和timestamp 类型有什么区别?

解决方案 »

  1.   

    timestamp与rowverison作用一样,就是一个行纪录的版本戳,与时间没什么关系timestamp
    timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。注释
    Transact-SQL timestamp 数据类型与在 SQL-92 标准中定义的 timestamp 数据类型不同。SQL-92 timestamp 数据类型等价于 Transact-SQL datetime 数据类型。 Microsoft® SQL Server™ 将来的版本可能会修改 Transact-SQL timestamp 数据类型的行为,使它与在标准中定义的行为一致。到那时,当前的 timestamp 数据类型将用 rowversion 数据类型替换。Microsoft® SQL Server™ 2000 引入了 timestamp 数据类型的 rowversion 同义词。在 DDL 语句中尽可能使用 rowversion 而不使用 timestamp。rowversion 受数据类型同义词行为的制约。有关更多信息,请参见数据类型同义词。在 CREATE TABLE 或 ALTER TABLE 语句中,不必为 timestamp 数据类型提供列名:CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp)如果没有提供列名,SQL Server 将生成 timestamp 的列名。rowversion 数据类型同义词不具有这样的行为。指定 rowversion 时必须提供列名。一个表只能有一个 timestamp 列。每次插入或更新包含 timestamp 列的行时,timestamp 列中的值均会更新。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。不可为空的 timestamp 列在语义上等价于 binary(8) 列。可为空的 timestamp 列在语义上等价于 varbinary(8) 列。
      

  2.   

    datetime类型用在你需要同时包含日期和时间信息的值时。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
    timestamp 列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记insert或update的操作。如果你有多个timestamp列,只有第一个自动更新。
      

  3.   

    嗯,那就是timestamp 可以自动更新吧?
      

  4.   

    timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。  Transact-SQL timestamp 数据类型与在 SQL-92 标准中定义的 timestamp 数据类型不同。SQL-92 timestamp 数据类型等价于 Transact-SQL datetime 数据类型
      

  5.   

    那你用datetime就好了
    timestamp与rowverison作用一样,就是一个行纪录的版本戳,与时间没什么关系,timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。
    timestamp在查询视图下显示的是8位十六进制数,类型等同于binary(8),如果你直接用.Net读取出来,将会是一个byte[]
    在SQL中你可以转换为一个整形convert(bigint, timestatmp)不过因为这个是有符号的,所以表示范围比timestamp要小
      

  6.   

    你可以理解为timestamp的取值范围为0~[2的64次方-1]
    上面说错了,查询视图下该字段显示为16位十六进制数
      

  7.   

    每当某条纪录(任何字段)发生改变,timestamp都会自动变化,这就好像给这条纪录加了一个唯一的版本标识,它由数据库自行进行管理
      

  8.   

    嗯。我用timestamp的。。谢啦~~