首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP MYSQL UPDATE如果存在,或者INSERT如果不存在?

PHP MYSQL UPDATE如果存在,或者INSERT如果不存在?
EN

Stack Overflow用户
提问于 2011-07-28 09:27:21
回答 1查看 104.6K关注 0票数 73

我不知道这是不是一点都不正确。我有一个类,如果字段当前存在,我希望在其中更新数据库,如果字段不存在,则插入字段。复杂的是,我正在连接3个表(set_colors,school_art,baseimage)

任何帮助都是非常好的。

这就是我所拥有的:

代码语言:javascript
复制
public function set_layer_colors($value) {
    global $db;

    $result_array = mysql_query("
    IF EXISTS(SELECT * FROM set_colors WHERE school_art_id = '{$value}')

      UPDATE set_colors (school_art_id, baseimage_id, sub_folder, layer)
        SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
        FROM school_art 
        JOIN baseimage ON baseimage.base_folder = school_art.series_code 
        WHERE baseimage.image_type = 'B' ORDER BY school_art.id 

    ELSE

     INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
        SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
        FROM school_art 
        JOIN baseimage ON baseimage.base_folder = school_art.series_code 
        WHERE baseimage.image_type = 'B' ORDER BY school_art.id 
        ");

    return $result_array;
}
EN

回答 1

Stack Overflow用户

发布于 2011-07-28 09:28:43

有两个选择:

MySQL Manual :: INSERT INTO ... ON DUPLICATE KEY UPDATE Syntax

MySQL Manual :: REPLACE INTO Syntax

两者都允许您在一个查询中执行insert-if-not-exists或update。

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

https://stackoverflow.com/questions/6853190

复制
相关文章

相似问题

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