我正在使用 LOAD DATA INFILE 语句从 excelsheet 中获取数据,并尝试在保存到数据库之前评估结果。在使用 MATCH() AGAINST() 时,我需要能够将 excel 中的一个字段作为 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"