只是一个快捷方式。我正在开发网站,您可以在其中购买积分并稍后在网站上使用它们。
我的问题是,是否可以存储用户的信用额度(用户表、列信用和 itger 数量),或者有必要(或更好)使用用户 id 和数量的单独表?
谢谢
最佳答案
两者实际上都是 。
考虑到您将处理货币交易以获得这些信用,您希望能够获得所有交易的日志(根据您所在国家/地区的法律,您需要这样做)。因此,您需要一个 credits_transactions
表。
user_id, transaction_id, transaction_details, transaction_delta
由于以编程方式计算您当前的信用余额对于有大量交易的用户来说成本太高,因此您还需要在用户表中添加一个
credit_balance
行以便快速访问。每当从 credits_transactions
插入一行时,使用触发器自动更新该列(从技术上讲,该表中不应允许 update
和 delete
)。这是插入触发器的代码。CREATE TRIGGER ct_insert
AFTER INSERT ON credits_transactions
BEGIN
UPDATE users SET credit_balance = credit_balance + NEW.transaction_delta WHERE user_id = NEW.user_id;
END
;;
关于php - 在数据库中存储信用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6519731/