我有这个SQL字符串,如果它存在则更新一行,如果不存在则创建一行,如果更新ctc_portfolio_coins_amount
如果我的值为100或-100,我如何将其减去或在更新时将其添加到当前值?
INSERT INTO ctc_portfolio_coins
(ctc_portfolio_coins_portfolio_fk, ctc_portfolio_coins_coin_fk, ctc_portfolio_coins_amount)
VALUES (1, 1, 100)
ON DUPLICATE KEY UPDATE ctc_portfolio_coins_amount = VALUES(ctc_portfolio_coins_amount)
表:
答案 0 :(得分:1)
算术:
INSERT INTO ctc_portfolio_coins (ctc_portfolio_coins_portfolio_fk, ctc_portfolio_coins_coin_fk, ctc_portfolio_coins_amount)
VALUES (1, 1, 100)
ON DUPLICATE KEY UPDATE
ctc_portfolio_coins_amount = ctc_portfolio_coins_amount + VALUES(ctc_portfolio_coins_amount);
对ctc_portfolio_coins_amount
的引用是更新前列中的值。对VALUES(ctc_portfolio_coins_amount)
的引用是传递给INSERT
语句的值。