【发布时间】:2020-09-29 05:59:35
【问题描述】:
我正在尝试使用主键创建一个表。例如下面是表结构
+--------+----------+------+-----------+--------------+
| ID | NAME | SOLD | PURCHASED | MANUFACTURED |
+--------+----------+------+-----------+--------------+
| 522345 | ProductA | 23 | NULL | 45 |
+--------+----------+------+-----------+--------------+
| 502345 | ProductB | NULL | 56 | NULL |
+--------+----------+------+-----------+--------------+
这里我必须确保所有 3 列(SOLD/PURCHASED/MANUFACTURED)不应该为 NULL。但任何 1 或 2 列都可以为 NULL。我如何为这种情况创建约束?请建议。我已经尝试了以下查询,但它期望所有 3 列的值。我的想法不多了。
CREATE TABLE MYTABLE (
ID VARCHAR(20) NOT NULL,
NAME VARCHAR(50),
SOLD INT NOT NULL,
PURCHASED INT NOT NULL,
MANUFACTURED INT NOT NULL,
CONSTRAINT [PK_MYTABLE] PRIMARY KEY CLUSTERED
(
[ID] ASC,
[SOLD] ASC,
[PURCHASED] ASC,
[MANUFACTURED] ASC
)
)
【问题讨论】:
标签: sql sql-server constraints