我在 SQL 领域还是个新手。因此我有一种工作方式的问题。
每周,我都会通过 pHp 代码从 MySQL 数据库上的 Excel 电子表格发送数据。这已经在起作用了。因此我有一个可以更新的表。
实际上,我正在我的数据库上发送特定底层证券的价格。归档我的数据的最佳方法是什么,如下所示。
在我的数据库中,我有以下结构:
tabe t_index
Label = VARCHAR(255)
Price = float
Date = date()
Run Code Online (Sandbox Code Playgroud)
假设我上周在数据库上发送了数据,因此我存储了:
Stock A
102.85
2013-03-18
Run Code Online (Sandbox Code Playgroud)
今天,我想发送相同的新价格Stock A,103.54但我想存档并保留102.85价格,以便能够在两个价格之间获得一些回报或任何回报。
我应该如何进行?
我希望我的问题不要太混乱...谢谢你的帮助
一种方法是创建一个 UPDATE 触发器,将旧值插入另一个表中。因此,当您更新现有条目时,旧数据将被复制/存档到另一个表。
CREATE TABLE t_index_archive (
Label VARCHAR(255),
Price float,
Date datetime);
Run Code Online (Sandbox Code Playgroud)
现在在现有表上创建一个触发器
DROP TRIGGER IF EXISTS archive_t_index;
DELIMITER $$
CREATE DEFINER = CURRENT_USER TRIGGER archive_t_index BEFORE UPDATE ON t_index
FOR EACH ROW BEGIN
INSERT INTO t_index_archive VALUES (OLD.Label, OLD.Price, OLD.Date);
END;
$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1304 次 |
| 最近记录: |