如何更新用户创建的列

问题描述 投票:0回答:1

我有一个python脚本,用户可以单击一个按钮以创建类型的列 数字 每次用户单击该按钮,都会创建两个列,例如: amt_day1,bal_up_to_day1.

llet说用户创建了以下列:amt_day1,bal_up_to_day1, amt_day2,bal_up_to_day2,amt_day3,bal_up_to_day3

插入一些后,是预期结果的一个例子 数据:

name, amt_day1,bal_up_to_day1,amt_day2,bal_up_to_day2,amt_day3,bal_up_to_day3 John, 100, 100, 150, 250, 50, 300

我想要列bal_up_to_day1 = amt_day1; bal_up_to_day2 = bal_up_to_day1 + bal_up_to_day1 + amt_day2和bal_up_to_day3 = bal_up_to_day2 +amt_day3

因此,如果用户决定更新Munter_day1,我想要所有列
balance_up_to_day…将自动更新
应计余额
如果用户想将列数量_DAY1的数量从100更改为400 约翰,我应该有结果:

name,amt_day1,bal_up_to_day1,amt_day2,bal_up_to_day2,amt_day3,bal_up_to_day3 John 400, 400, 150, 550, 50, 600

我阅读了有关触发和动态SQL的信息,但我仍然找不到一种方法。 欢迎任何解决方案。

我尝试更新AccrueD_ARNING SET BAL_UP_TO_DAY1 = AMT_DAY1;用户第一次点击。

对于其他时间,我尝试更新Accrued_Earning SET BAL_UP_TO_DAY2 = bal_up_to_day1 + amt_day1;

但应该更新bal_up_to_day ..列动态。

这是您桌子的高度非标准架构。 当用户在应用程序中采取操作时,需要创建新列的要求吗?

在SQL中,更喜欢维持数据之间的关系。 例如,您上面的示例可以由具有四列的表建模:用户,天,交易金额,平衡日期。

从那里,您可以使用选定的子查询来获取最新的“余额约会”,并使用它为您的用户创建新行。

例如:

INSERT INTO account_balances (user, day, amount, balance) SELECT 'username', 1, 100, COALESCE(SELECT balance FROM account_balances WHERE user = 'username' ORDER BY day DESC LIMIT 1 ), 0) + 100;
python sql triggers updates procedure
1个回答
0
投票
关键字是处理第一次插入给定用户表中的情况。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.