Sql 我希望查询将数据存储在数据库中的不同行中。
我想把现金存入一个帐户。在此,我们提供pin作为验证和存款金额。我使用Sql 我希望查询将数据存储在数据库中的不同行中。,sql,oracle,Sql,Oracle,我想把现金存入一个帐户。在此,我们提供pin作为验证和存款金额。我使用atm\u transaction\u details\u tb表进行存款和取款(我使用类似类型的查询进行取款)。 存款查询-> selectQuery = "update atm_transaction_details_tb set amount=amount+?, dot=?, deposit=? where pin=? "; 撤消查询-> selectQuery = "update at
atm\u transaction\u details\u tb
表进行存款和取款(我使用类似类型的查询进行取款)。
存款查询->
selectQuery = "update atm_transaction_details_tb set amount=amount+?, dot=?,
deposit=? where pin=? ";
撤消查询->
selectQuery = "update atm_transaction_details_tb set amount=amount+?, dot=?,
deposit=? where pin=? ";
查询是正确的,但在执行查询后,我看到取款和存款在数据库中位于同一行,我希望它位于单独的行中-
I am getting this in database-
Amount DOT Withdraw Deposit PIN
6000 12-Sep-2013 500 500 5555
I want this in database -
Amount DOT Withdraw Deposit PIN
5500 12-Sep-2013 500 5555
5000 12-Sep-2013 500 5555
我希望查询将数据存储在不同的行中。可能需要修改查询以进行更改。请在这方面帮助我,因为我是新手。提前感谢
selectQuery = "INSERT INTO atm_transaction_details_tb (amount, dot, deposit, pin)
VALUES(5500,'2013-09-12',500,5555)"
或
TOP 1和ORDER BY很重要。否则,您将为一个事务插入多行。如果一天有多个事务,您还需要一些标识列来查找最后一个事务
我也不太喜欢你的数据库设计。你有“平衡”为每笔交易存储的帐户的。但您可以更好地进行查询以计算余额,或将余额存储在不同的表中。使用插入查询而不是更新。因为更新将根据条件更改同一行的值。第一次使用更新查询,因为您正在使用右键
UPDATE
atm_transaction_details_tb
SET
amount = amount + 50,
dot = '2013-09-12',
deposit = 50
WHERE pin = 15
完成上述查询后,运行insert查询,使用上述pin id复制上述查询记录,不再更新查询,仅按如下方式插入
INSERT INTO `atm_transaction_details_tb` (`pin`, `amount`, `dot`, `deposit`)
(SELECT
`pin`,
`amount`,
`dot`,
`deposit`
FROM
atm_transaction_details_tb
WHERE pin = 15) ;
如果您希望它位于不同的行中,您应该尝试插入。更新将编辑现有行。使用提交如何?-这将强制将第一个事务提交到数据库,然后第二个事务将生成新行。您希望插入而不是更新。这确实是一个新手问题。您应该开始阅读一些基础知识…@FlorinGhita这不是一个新手问题,因为你没有正确理解这个问题,所以你说它是新手。我想插入一行,如果数据库中存在pin码,它也会根据pin码更新金额字段。正确地检查表。我正在使用pin码进行查询,然后插入到数据库中,我能在你提供的上面做些什么?你的问题还说,失踪。
INSERT INTO `atm_transaction_details_tb` (`pin`, `amount`, `dot`, `deposit`)
(SELECT
`pin`,
`amount`,
`dot`,
`deposit`
FROM
atm_transaction_details_tb
WHERE pin = 15) ;