回答

收藏

如何为主键列创建自定义的自动生成的ID号?

技术问答 技术问答 271 人阅读 | 0 人回复 | 2023-09-12

我已经创建了表,并插入了以下值:9 J+ B# S  e0 E: V5 E
CREATE TABLE Product(     ID INTEGER IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,    Product_No AS RIGHT ('PDT0000'   CAST(ID AS VARCHAR(10)PERSISTED,    Product_Name VARCHAR(50) NOT NULL)INSERT INTO Product(Product_Name)VALUES('Fish'),('Shrimp'),('Crab')然后通过使用
$ A8 E3 a8 M7 F/ P  KSELECT * FROM Product我得到以下结果:5 X% I. B' Z8 \7 |
ID  Product_No  Product_Name1   PDT00001    Fish2   PDT00002    Shrimp3   PDT00003    Crab如您所见,ID是主键列..不是Product_No …我想Product_No成为这里的主键列而不需要创建ID列。因此,这是我想要获得的输出
4 {" I2 t4 Z3 a- n) PSELECT * FROM Product     (with Product_No as the Primary Key)roduct_No  Product_Name-------------------------PDT00001    FishPDT00002    ShrimpPDT00003    Crab所以这就是我试过的:% H' \9 R/ d* M& u5 F. e
CREATE TABLE Product(     Product_No INTEGER IDENTITY(1,1) PRIMARY KEY ('PDT0000'   Product_No AS VARCHAR(10),10)Product_Name VARCHAR(50) NOT NULL)我犯了以下错误:
. N' J7 u- i1 ?0 b7 i+ Q$ K“ PDT0000附近的语法不正确。4 L; X/ p+ H$ U* h6 k' h) ]
那我该怎么解决呢?
) Q# B0 ?) Y- ~, X9 D( A  A提供适当的语法解决方案真的很有帮助。
, X9 v8 S' w/ D( Z' g' S                                                               
( B) ^. d- Q' ]* k! ^! W0 @) P6 R4 `    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则