我在我的數據庫中有一個SQL服務器表。如何在創建新行時將GUID的前8個字符插入列中?
有一個名爲Code
在一個名爲Admin
表列。
我怎樣才能讓這個默認的GUID的前8個字符?請注意,此列是一個varchar(8)。
我在我的數據庫中有一個SQL服務器表。如何在創建新行時將GUID的前8個字符插入列中?
有一個名爲Code
在一個名爲Admin
表列。
我怎樣才能讓這個默認的GUID的前8個字符?請注意,此列是一個varchar(8)。
ALTER TABLE [dbo].[table]
ADD CONSTRAINT [DF_table_myColumn] DEFAULT(left(newid(), (8)))
FOR [myColumn]
GO
雖然修改表
ALTER TABLE ADMIN
ADD CONSTRAINT DF_SomeName DEFAULT LEFT(NEWID(), 8) FOR Code;
OR
ALTER TABLE ADMIN
ADD CONSTRAINT DF_SomeName DEFAULT RIGHT(NEWID(), 8) FOR Code;
OR
ALTER TABLE ADMIN
ADD CONSTRAINT DF_SomeName DEFAULT SUBSTRING(CAST(NEWID() as VARCHAR(50)),1,8) FOR Code;
在創建表
CREATE TABLE ADMIN(
Code varchar(8)
CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
LEFT(NEWID(), 8) FOR Code
)
或
CREATE TABLE ADMIN(
Code varchar(8)
CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
RIGHT(NEWID(), 8) FOR Code
)
OR
CREATE TABLE ADMIN(
Code varchar(8)
CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
SUBSTRING(CAST(NEWID() as VARCHAR(50)),1,8) FOR Code
)
添加默認約束:
ALTER TABLE [dbo].[Admin] ADD CONSTRAINT [DF_Admin_Code]
DEFAULT (substring(CONVERT([varchar](50),newid(),0),(1),(8))) FOR [Code]
試試這個 - 'SELECT LEFT(NEWID(),8)'。我認爲這是你想要的。 – 2014-10-05 09:02:34
你能告訴我怎麼做到這一點,所以這是列的默認值? – 2014-10-05 09:10:08
檢查我的答案... – 2014-10-05 09:11:19