我有一个 FoxPro 容器 DBC,里面有几个 DBF 表。这些表具有以下结构:
TableA(id, numbers1, numbers2, numbers3)
numbers1、numbers2 和 numbers3 是数字逗号分隔的字符串,如下所示:
numbers1 = '01,02,03,04,05,06,07,08' --> 8 numbers
numbers2 = '09,10,11,12,13,14,15,16' --> 8 numbers
numbers3 = '01,02,03,04,05,06,07,08,09,10,11,12,13,14,15' --> 15 numbers
数字不能在同一行之间和整个表格中重复,因此顶部的 numbers1 不能出现在 numbers1 或 numbers2 的另一行。
所以,为了防止这种情况......我在列 numbersX 上应用索引,如下所示:
INDEX ON numbers1 CANDIDATE TAG numbers1
INDEX ON numbers2 CANDIDATE TAG numbers2
INDEX ON numbers3 CANDIDATE TAG numbers3
但这......只能防止在同一列上没有重复......所以:
RowA.numbers1 cant be equal to RowB.numbers1
但这可能会发生:
RowA.numbers1 = RowB.numbers2
而我不想那样......
所以我的问题是我该如何解决这个问题?我认为在两列上做多个索引,可以做到吗?我在 mysql 或 sql server 中考虑更多,但我不知道这是否适用于 foxpro。