我有两个现有表(TableA和TableB),我需要向TableA添加一个新列,该列具有TableB的外键,并且默认值不为null ...而且这两个约束都需要命名。我怎样才能做到这一点?
Answers:
在一个语句中添加两个约束并不像我想的那样容易,而且那里似乎没有很多示例(至少我找不到任何示例很容易),所以我想在这里分享我的做法,也许有人可以提出更好的方法?
ALTER TABLE [table name] ADD
[New Column Name] [Column Type]
CONSTRAINT [constraint name] DEFAULT ([default value]) NOT NULL,
CONSTRAINT [constraint name] FOREIGN KEY ([New Column Name])
REFERENCES [Other Table] ([Foreign ID])
例:
ALTER TABLE tableA ADD
myNewColumn BIGINT
CONSTRAINT myNamedConstraint_df default (1) NOT NULL,
CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn)
REFERENCES tableB (tableBPrimaryKeyID)
ADD
之前添加前缀CONSTRAINT
。ADD CONSTRAINT myNamedConstraint_df default (1) NOT NULL,