sql server表中timestamp类型的具体说来自明
的有关信息介绍如下:问题补充说明:如题请详细说明
timestamp
timest论amp这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一超法山伤的。timestamp一般用作给表行加版本戳的机制。存储大小为8字节。
注释
Transact-SQLtimestamp数据类型与在SQL-92标准中定义的timestamp数据类型不同。SQL-92timestamp数据类型等价于Transact-SQLdatetime数据文灯那干仍未的心类型。
Microsoft®SQLServer™将来的版本可能会修改Transact-SQLtimestamp数据类型的行为,使它与在标准中定义的行为一致。到那时,当前的timestamp数据类型将用rowversion数据类型替换。
Microsoft®SQLServer™2000引入了timestamp数据类型的rowversion同义词。在DDL语句中尽可能使用rowversion而不何类齐容逐果检使用timestamp。rowversion受数据类型同义词行为的制约。有关更多信息,请参见数据类型同看状吧马普衡义词。
在CREATETABLE或ALTERTABLE语句中,不必为timestamp数据类型提供列名:
CREATETABLEExampleTable(P曾农光确做去理哪影范站riKeyintPRIMARYKEY,timestamp)
如果没有提供列名,SQLServer将生成timestamp的列名。占计社末不罗rowversion数据类型同义词不具有这样的行为。指定rowversion时必须提供列名。
一个表只能有一个timestamp列。每次插入或更新包含timestamp列的行时,timestamp列中的值均会更新。这一属性使timestamp列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改timestamp值垂料放力味守复意销阿,从而更改键值。如限他频具倍格境冷果该列属于主键,那么旧的键值将误数双苗果犯形仅无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。
不可为空的t倒场映校imestamp列在语义上等价于binary(8)列。可为空的timestamp列在语义上等价于varbinary(8)列。