次の 2 つのことを行うスクリプトがあります。 a) CSV ファイル (銀行取引) を読み取り、それを MySQL データベースの取引テーブルに入力します。 b) マッピング ファイルにマッピングされたトランザクションの説明 (借方カテゴリ、貸方カテゴリなど) に従って、トランザクション テーブルの他の列を更新します。
以下は私のスクリプトです
リーリースクリプトを実行すると、最初のスクリプト SQL は完全に実行されます。ただし、2 番目のスクリプトが実行されていないか、テーブルに変更はありません。
関連するすべてのテーブルがデータベースに存在することを確認しました。 csv ファイルも正しくフォーマットしました (必要に応じて共有できます)。
問題は 2 番目のクエリの構文にあるのではないかと思います。このクエリは、トランザクション テーブルから説明文字列を取得し、別のマッピング テーブルからの部分文字列が含まれているかどうかを確認します。一致が発生すると、他のフィールドが抽出され、トランザクション テーブルにコピーされます。
誰かが正しい方法を見つけるのを手伝ってくれませんか?
###前もって感謝します###
さて、少し調べた結果、エラーが見つかりました。
私の直感は正しかったので、これはスクリプト エラーでした。正しい SQL クエリ ステートメントは次のとおりです:
リーリー重要なのは、
WHERE
演算子に部分文字列の比較を含めることです。