CurrencyAbbreviation | CurrencyRate | DateOfCurrencyRate
AUD | 1.1 | 2013-01-01
USD | 1.1 | 2013-01-01
EUR | 1.1 | 2013-01-01
希望防止在同一日期插入相同的货币。
想要阻止这个
CurrencyAbbreviation | CurrencyRate | DateOfCurrencyRate
AUD | 1.1 | 2013-01-01
AUD | 1.1 | 2013-01-01
如果将CurrencyAbbreviation
或DateOfCurrencyRate
设置为唯一,则例如无法插入AUD | 2013-01-02
或USD | 2013-01-03
尝试REPLACE
进行检查,但结果相同,并认为REPLACE
对情况不利。
现在看一些为每种货币创建单独表格的解决方案,但不是很好,因为有大约40多种货币和INSERT
`SELECT``多个表浪费资源
请,建议解决方案。
思考,似乎需要创建包含货币和日期的其他列,并将列设置为唯一。目前看来这是我所知道的最佳解决方案
答案 0 :(得分:3)
创建跨越这两列的UNIQUE索引
CREATE
UNIQUE INDEX currency_date
ON yourTableName (CurrencyAbbreviation, DateOfCurrencyRate)