我有两个现有表(TableA 和 TableB),我需要向 TableA 添加一个新列,该列具有 TableB 的外键并且默认值不为空......并且这两个约束都需要命名。我怎样才能做到这一点?
问问题
68270 次
1 回答
133
在一个语句中添加两个约束并不像我想象的那么容易,而且那里似乎没有很多例子(至少我不能很容易地找到任何例子),所以我想我会在这里分享我是如何做到的,也许有人可以提出更好的方法?
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)
于 2012-10-23T14:58:49.673 回答