3
|
PassionateDeveloper · 技术社区 · 14 年前 |
![]() |
2
2
为了澄清不信者Damien_u所说的话(编辑:我现在看到他已经扩展了他的回复),您在添加非空约束之前输入的前几行在电子邮件列中没有任何值,因此将违反非空约束。首先,添加email列,允许空值。然后编辑现有行,使它们在该列中具有值。然后返回并向email列添加非空约束。 或者,您可以在定义列时(临时)为电子邮件提供一个默认值,例如“temp@somedomain.com”,现有行将获得该默认值(如果没有提供电子邮件,新行也将获得该默认值)。然后你可以回去编辑它们。 简单地说,规则是:如果一行或多行违反了约束,则不能向已经填充了数据的表添加约束。 “约束”是您希望数据库强制执行的规则。 |
![]() |
3
1
如果不指定列的默认值,就不能执行此操作-否则,SQL Server如何确保表中现有行的“非空”约束? 如果你试图通过一个查询来完成,你会得到更多的解释:
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |