我的系统具有一些会计功能。我们假设有两个账户,我想在这两个账户之间转账。 acc1(id 1)acc2(id 2)。所以我想把钱从1转到2.我有这个交易表。对于此传输,我向事务表插入两行。第一笔交易从acc1获得资金,第二笔交易将这笔钱存入acc2。如何连接这两个交易?我需要另一个id,这两个事务将是相同的。 TransactionID字段是Auto Increment,我不知道id是什么。我可以在mod 10000中创建一个随机数序列,但每次我都要检查是否存在生成id的事务。任何帮助表示赞赏。
答案 0 :(得分:1)
您可以拥有一个新表Transfers
。这就像是:
CREATE TABLE Transfers (
id INT AUTO_INCREMENT PRIMARY KEY,
from_transaction_id INT,
to_transaction_id INT,
UNIQUE INDEX from_to (from_transaction_id, to_transaction_id),
FOREIGN KEY from_transaction_id REFERENCES Transactions (id),
FOREIGN KEY to_transaction_id REFERENCES Transactions (id)
);
将提款和存款交易添加到Transactions
表后,您可以向Transfers
添加一行,其中包含这两笔交易的ID。