0

我正在使用 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"
4

0 回答 0