我的数据库中有一个SQL服务器表。
名为Code
的表中有一个名为Admin
的列。
如何将此默认设置为GUID的前8个字符?请注意,此列是varchar(8)。
答案 0 :(得分:3)
改变表格
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
)
OR
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
)
答案 1 :(得分:2)
ALTER TABLE [dbo].[table]
ADD CONSTRAINT [DF_table_myColumn] DEFAULT(left(newid(), (8)))
FOR [myColumn]
GO
答案 2 :(得分:1)
添加默认约束:
ALTER TABLE [dbo].[Admin] ADD CONSTRAINT [DF_Admin_Code]
DEFAULT (substring(CONVERT([varchar](50),newid(),0),(1),(8))) FOR [Code]