开发者社区> 问答> 正文

如果存在PHP MYSQL UPDATE或不存在INSERT??mysql

我不知道这是否真的正确。我有一个班级,如果这些字段当前存在,我想在其中更新数据库,如果不存在则要插入。复杂的是,我正在联接3个表(set_colors,school_art,baseimage)

任何帮助都将非常棒。

这是我所拥有的:

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;

}

展开
收起
保持可爱mmm 2020-05-17 13:28:45 516 0
1 条回答
写回答
取消 提交回答
  • 我相信您正在寻找以下语法

    INSERT INTO

    (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...来源:stack overflow
    2020-05-17 13:34:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载

相关镜像