gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:00:58 25 4
gpt4 key购买 nike

我不知道这是否正确。我有一个类,如果字段当前存在,我想更新数据库,如果不存在则插入。复杂之处在于我正在加入 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;
}

最佳答案

我相信您正在寻找以下语法:

INSERT INTO <table> (field1, field2, field3, ...) 
VALUES ('value1', 'value2','value3', ...)
ON DUPLICATE KEY UPDATE
field1='value1', field2='value2', field3='value3', ...

Note: With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row, 2 if an existing row is updated, and 0 if an existing row is set to its current values.

MySQL 文档:INSERT ... ON DUPLICATE KEY UPDATE Statement

关于PHP MYSQL UPDATE 如果存在或 INSERT 如果不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853190/

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