LOAD DATA INFILE ステートメントを使用して Excelsheet からデータをフェッチし、データベースに保存する前に結果を評価しようとしています。MATCH() AGAINST() を使用しているときに、Excel のフィールドの 1 つを AGAINST() 関数の mysql 変数として AGAINST(@column4) のように渡すことができるようにする必要がありますが、機能していません。
コードは次のようになります。
LOAD DATA LOCAL INFILE "'.$uploadedLoanFile.'"
IGNORE
INTO TABLE loans_tbl
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
IGNORE 1 LINES
(@column1, @column2, @column3, @column4, @column5, @column6)
SET admin_id = "'.$id.'", ippis_no = @column2, f_ap_no = @column3,
match_status =CASE
WHEN (SELECT client_fullname FROM customer_tbl
WHERE MATCH(client_fullname) AGAINST(@column4 IN BOOLEAN MODE)
AND loan_state ='1' AND ippis_no = @column2) IS NOT NULL THEN "Matched"
ELSE "Mismatched"
END,
uploaded_ippis = @column2, uploaded_name = @column4, client_names = @column4, employer=@column5,
deduction = @column6, settled = "0", loan_state="1"