gpt4 book ai didi

php mysql数组数据插入如果不存在则更新

转载 作者:行者123 更新时间:2023-11-29 23:01:13 27 4
gpt4 key购买 nike

我正在尝试将数组数据插入或更新到 mysql 数据库中。

我的数组看起来像

Array
(
[0] => Array
(
[R_ID] => 32
[email] => a@a.com
[name] => Bob
)

[1] => Array
(
[R_ID] => 32
[email] => b@b.com
[name] => Dan
)

[2] => Array
(
[R_ID] => 32
[email] => c@c.com
[name] => Paul
)

[3] => Array
(
[R_ID] => 35
[email] => d@d.com
[name] => Mike
)
)

我正在使用此代码将数据插入 mysql 数据库。

if(is_array($EMailArr)){

$sql = "INSERT INTO email_list (R_ID, EMAIL, NAME) values ";

$valuesArr = array();
foreach($EMailArr as $row){

$R_ID = (int) $row['R_ID'];
$email = mysql_real_escape_string( $row['email'] );
$name = mysql_real_escape_string( $row['name'] );

$valuesArr[] = "('$R_ID', '$email', '$name')";
}

$sql .= implode(',', $valuesArr);

mysql_query($sql) or exit(mysql_error());
}

但我希望如果数组 R_ID 值与任何行 R_ID 值匹配,则查询更新现有值,否则查询插入新行。

我不明白我该怎么做。

最佳答案

当键已存在时,您可以将INSERTON DUPLICATE KEY UPDATE结合使用来更新表记录。

引用此link了解详细信息和语法

关于php mysql数组数据插入如果不存在则更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28482652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com