我知道我可以制作两列唯一键,但这并不是我想要的。
我希望例如col1='1', col2='2'
,然后不能有col1='1', col2='2'
的另一行,但完全可以执行以下操作:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
+--------+--------+
虽然这是不可能的:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 1 |
+--------+--------+
制作两个唯一键不是一个选项,因为col1='1', col2='1'
和col1='1', col2='2'
col1
是相同的,如果两者都是唯一键,则不允许这样做。
答案 0 :(得分:4)
您需要<select multiple="true" data-bind="select2: { dropdownAutoWidth: false, width: '300px', data: myOptions}, selectedOptions: selectedOptions"></select>
ko.validation.rules['minArrayLength'] = {
validator: function (obj, params) {
return obj.length >= params.minLength;
},
message: "Array does not meet minimum length requirements"
};
ko.validation.registerExtenders();
model.selectedOptions = ko.observableArray([]).extend({
minArrayLength: {
params: { minLength: 1 }, message: 'Please specify at least one error code.', onlyIf: function () {
return self.evaluation() == 'Not OK';
}
}
});
。
composite unique index
答案 1 :(得分:1)
您只需要在两列col1
和col2
之间声明唯一索引:
CREATE TABLE Table1
(
`col1` int,
`col2` int,
UNIQUE `unique_index`(`col1`, `col2`)
);
如果您尝试将1, 1
插入col1和col2,则会出现以下错误:
Duplicate entry '1-1' for key 'unique_index'
你可以尝试自己here。