【发布时间】:2013-12-30 15:39:50
【问题描述】:
我必须创建一个表货币
CREATE TABLE currencies (
from_currency CHAR(30) NOT NULL,
ExchRate REAL NOT NULL,
to_currency CHAR(30) NOT NULL,
PRIMARY KEY (from_currency),
FOREIGN KEY (to_currency) REFERENCES currencies(from_currency)
)
我必须保存 6 种货币的汇率:(inr,eur,cad,usd,gbp,cfp) 但问题是我不能在第一列中存储相同的值 IE。 我可以保存我的货币汇率如下
from_curr ER --> to_curr
INR --> 60 --> USD
USD --> 0 --> USD
GBP --> 70 --> USD
e.t.c.对于所有货币,但现在问题是当我尝试为其他人存储货币时
INR --> 1 --> USD
or
GBP --> 70 --> USD
我得到错误不允许重复值? 如何解决这个问题?
【问题讨论】:
-
附带说明,您可能不应该将汇率存储为
REAL,因为它是一个浮点值。除其他事项外,存储的值很可能不是输入的值,人们往往对金钱的数额感到各种紧张。因为您应该将任何金额存储在基于NUMERIC/DECIMAL类型的东西中,所以无论如何您都应该为所有操作转换为该类型。为自己节省一些常见的转换时间。
标签: sql