回答

收藏

处理``插入表Values()''语句中的标识列?

技术问答 技术问答 243 人阅读 | 0 人回复 | 2023-09-14

在SQL Server 2000或更高版本中,当使用如下语句时,是否有处理自动生成的主键(标识)列的方法?
6 g4 J0 L. B3 W" h( h- NInsert Into TableName Values(?, ?, ?)
8 f6 `+ N& E. ?  S) P. A我的目标是根本不使用列名。0 d& s' o& A8 ]- J+ V' M9 ?
                . m$ V! O: K: F% @- N
解决方案:
) s3 d& N6 `6 }" x: i& G1 {               
( I7 l. J4 F) I: I0 \; y8 C& ~: _# P: ~& ?& g' a

0 l1 J: w( A: B8 }% s% b! h                默认情况下,如果你有一个标识列,你就 不会 需要在值部分指定它。如果您的表是:
, U# b$ z0 h5 |3 E- |ID    NAME    ADDRESS
( O. x- i- [; l* \' S- X然后,您可以执行以下操作:
1 \7 Z& Z2 @8 D6 o$ CINSERT INTO MyTbl VALUES ('Joe', '123 State Street, Boston, MA')
$ I7 T5 ]3 g; I这将为您自动生成ID,而您完全不必考虑它。如果您SET IDENTITY_INSERT MyTbl ON可以为ID列分配一个值。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则