我的数据库中有一个SQL服务器表。
在名为Admin
的表中有一个名为Code
的列。
如何将此设置为GUID的前8个字符的默认值?请注意,此列是varchar(8)。
当改变表时
ALTER TABLE ADMIN
ADD CONSTRAINT DF_SomeName DEFAULT LEFT(NEWID(), 8) FOR Code;
或
ALTER TABLE ADMIN
ADD CONSTRAINT DF_SomeName DEFAULT RIGHT(NEWID(), 8) FOR Code;
或
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
)
或
CREATE TABLE ADMIN(
Code varchar(8)
CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
SUBSTRING(CAST(NEWID() as VARCHAR(50)),1,8 ) FOR Code
)
ALTER TABLE [dbo].[table]
ADD CONSTRAINT [DF_table_myColumn] DEFAULT(left(newid(), (8)))
FOR [myColumn]
GO
添加默认约束:
ALTER TABLE [dbo].[Admin] ADD CONSTRAINT [DF_Admin_Code]
DEFAULT (substring(CONVERT([varchar](50),newid(),0),(1),(8))) FOR [Code]