我需要在数据库表中添加一个新列,但同时也要自动增加(主键)。可以使用以下代码:
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)
但是这会创建唯一的整数1、2、3等,但我希望创建长的唯一数字,例如:0542365或带有字母A546980,是否可能?
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)
但是这会创建唯一的整数1、2、3等,但我希望创建长的唯一数字,例如:0542365或带有字母A546980,是否可能?
可靠且美观的方法之一如下:
ID INT IDENTITY(1,1)
列,让 SQL Server 自动增加您的数字值尝试以下操作:
CREATE TABLE dbo.YourTable
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
AlphaID AS 'A' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
.... your other columns here....
)
YourTable
插入一行时,没有指定ID
或AlphaID
的值:INSERT INTO dbo.YourTable(Col1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
如果使用SQL Server,它会自动且安全地增加您的ID
值,并且AlphaID
将包含类似于A0000001
,A0000002
......等值-自动、安全、可靠,无重复。
BIGINT
而不是INT
。 - Paul Maxwell