私は新しい行を挿入しようとしましたが、既に含まれている場合は新しい行を更新しようとしました。IF NOT EXISTS - Mariadb Syntax
私はインデックスで試すことができたと思ったが、正直言って私はこれを行う方法がわからないので、私はIFステートメントでそれをやろうとした。 不幸にも、これは私の構文に問題があると言われているので、どちらも動作しません。私はMariaDBを使用しています。
IF NOT EXISTS (SELECT * FROM valuation
WHERE ticker = 'BK001EUR' AND depot_id =1
AND src_id =2 AND valuation_date ='2009-09-09')
INSERT INTO valuation (ticker,depot_id,src_id,valuation_date,value)
VALUES ('BK001EUR',1,2,'2009-09-09',14999260.46)
ELSE
UPDATE valuation
SET value =14999260.46
WHERE ticker = 'BK001EUR' AND depot_id =1
AND src_id =2 AND valuation_date ='2009-09-09');
私は "重複キー更新"を試みましたが、残念ながらそれはティッカーであるプライマリキーにのみ関連し、4つの列すべてに基づいてインデックスに関連付ける方法はわかりません。 –
'UPDATE評価SET値= 14999260.46ティッカー= 'BK001EUR'、src_id = 2 AND depot_id = 1 AND valuation_date = '2009-09-09'); INSERT INTO評価(ticker、depot_id、src_id、valuation_date、value)SELECT 'BK001EUR'、1,2、 '2009-09-09'、14999260.46 どこにも存在しないWHEREは存在しない(WHERE ticker = 'BK001EUR' AND AND depot_id = 1 AND src_id = 2 AND valuation_date = '2009-09-09'); ' –