我想确保当我执行查询时,它只适合一次
INSERT INTO SERVICEPAYANT ( TYPE_FLUX, DELAI ) VALUES (160,'9999');
INSERT INTO SERVICEPAYANT ( TYPE_FLUX, DELAI ) VALUES (161,'9999');
INSERT INTO SERVICEPAYANT ( TYPE_FLUX, DELAI ) VALUES (162,'9999');
INSERT INTO SERVICEPAYANT ( TYPE_FLUX, DELAI ) VALUES (163,'9999');
答案 0 :(得分:1)
我可以认为两列的组合是你的自然关键吗?如果是这样,您需要一个单一的约束,这将取决于您的数据库实现。
答案 1 :(得分:1)
如果您在表格中的其他列上已有TYPE_FLUX
,则必须将列DELAI
或UNIQUE KEY
标记为PRIMARY KEY
。当您在161
栏中输入TYPE_FLUX
时出现错误,或者当您再次在'9999'
栏中输入DELAI
时出现错误。
如果您希望两列的组合是唯一的,那么创建一个合并的UNIQUE KEY
,这将永远不会让161 and '9999'
再次输入表中 TOGETHER
答案 2 :(得分:0)
INSERT INTO SERVICEPAYANT
(TYPE_FLUX,
DELAI)
SELECT 161,
'9999'
FROM dual
WHERE NOT EXISTS (SELECT 1
FROM SERVICEPAYANT
WHERE TYPE_FLUX = 161
AND DELAI = '9999')