我需要2个sqlite表(比如,id1和id2)的主键相关,这样任何id1都不能等于任何id2,反之亦然。这是因为我需要从这两个表中获取具有唯一属性id的相同类型的xml元素。 有没有办法在sql中理解sql或在“经典”sql中表达对我的id字段的这种约束? 或者,我想我可以创建另一个表,参考另一个2和唯一的id,我将从中获取我的数据...但我想知道是否有可能以其他方式首先,哪个是在您看来,这种情况下的最佳做法。
谢谢!
答案 0 :(得分:0)
从技术上讲,XML ID值无论如何都不能是数字,所以在以XML格式存储之前将id添加到文本中。然后你不必担心数字重复。
http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Name
[4] NameChar :: = Letter |数字| '' | ' - '| '_'| ':'| CombiningChar |扩展
[5]姓名:: =(字母|'_'|':')(NameChar)*
有效性约束:ID
类型ID的值必须与名称生成匹配。名称绝不能在XML文档中出现多次作为此类型的值;即,ID值必须唯一地标识承载它们的元素。