首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php mysql数组数据插入(如果不存在),否则更新

php mysql数组数据插入(如果不存在),否则更新
EN

Stack Overflow用户
提问于 2015-02-12 16:27:29
回答 1查看 1.2K关注 0票数 0

我试图插入或更新mysql数据库中的数组数据。

我的数组看起来就像

代码语言:javascript
复制
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数据库。

代码语言:javascript
复制
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值匹配,则查询更新现有值,否则查询插入新行。

我不明白我怎么能这样做。

EN

回答 1

Stack Overflow用户

发布于 2015-02-12 16:32:08

当键已经存在时,可以使用INSERT对重复键更新来更新表记录。

有关详细信息和语法,请参阅此链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28482652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档