簡體   English   中英

如何使用多個數組進行mysql更新

[英]how to do mysql UPDATE with multiple arrays

我有大量要更新的數據

當我執行插入操作時,我首先列出列,然后將每個數組放入具有值的列表中

$sql_query = "INSERT INTO customer (last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points) VALUES(";

然后對於每個項目

$sql_query .= implode("),(", $rows);
                $sql_query .= ")";

我想對UPDATING數據執行相同的模型,但是所有示例通常都是column = data,column = data

有辦法嗎

$sql_query = "UPDATE customer SET (last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points) VALUES(";

然后對於每個項目

$sql_query .= implode("),(", $rows);
                $sql_query .= ")";

然后在最后

$sql_query .= "WHERE column=condition";

更合適的解決方案是將字段名稱存儲在數組中,然后對其進行處理。

例:

$fieldString = 'last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points';
$fieldList = explode(',',$fieldString);

//considering you have values stored in $rows array.

// Exit if $fieldlist does NOT match $rows
if (count($fieldList) != count($rows)){
   die; //or handle exception
}


// INSERT statement:

$sql_query = 'INSERT INTO customer ('.implode(',',$fieldList).)' VALUES ('.implode(',',$rows).') LIMIT 1';

// UPDATE statement:
$parameters = array();
for($offset=0;$offset<count($fieldList);$offset++){
    $parameters[] = $fieldList[$offset].' = '.$rows[$offset];
}

$sql_query = 'UPDATE customer SET '.implode(',',$parameters).' WHERE column=condition LIMIT 1';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM