我正在做一个应用程序,我的客户可能需要在数据库架构中进行数据扩展。
要进行数据扩展,我有一个XML数据字段,我存储每个客户扩展。
CustomerID | Name | XML field
1 Jack <Age>24</Age>
2 Marie <Country>Norway</Country>
我的问题是,如果Jack现在希望他的属性Age有一个约束NOT NULL,这是否可能不影响其他客户?
我的另一个问题是,如果Marie想要属性Country的索引,这可能不影响其他客户吗?
答案 0 :(得分:1)
您可以添加约束NOT NULL作为XML文件的XSD,这需要另一个可以为空的列。
CustomerID ¦ Name ¦ XML field ¦ XSD field
------------------------------------------------------------------------------------------
1 ¦ Jack ¦ <Age>24</Age> ¦ <xs:element name="Age" nillable="false"/>
------------------------------------------------------------------------------------------
2 ¦ Marie ¦ <Country>Norway</Country> ¦
关于索引,我个人会说XML不应该被编入索引。但this可能会对您有所帮助。
如果您想在SQL中使用Constraint,那么我无法帮助您。我相信,正如Nikolas Charalambidis所说,你不能为细胞创造条件,因为SQL不是为这样的东西构建的。
答案 1 :(得分:0)
NOT NULL
约束强制列不接受空值。它适用于整个列,因此您不能。
如果要始终强制所选行的任何值,则必须使用触发器。检查所选项目中是否为空,如果是,则将其更改为默认值。