gpt4 book ai didi

php - 更新新表加入另外两个表?

转载 作者:行者123 更新时间:2023-11-30 23:36:45 26 4
gpt4 key购买 nike

我快要发疯了....请帮忙:(我有三个表,我正在根据另外两个表的数据更新一个表。

更新表:set_colorscolumns: setcolors_id (primary), art_id(int), baseimage_id(int), color_id(int)

我从中获取信息的两个表

表名:艺术列:id(primary)、artname(varchar)、series_code(varchar)

表名:baseimage列:id(主要)、base_folder(varchar)、图形、image_type(varchar)、层(int)示例数据:

art 表中的 series_codebaseimage 表中的 base_folder 具有相同的值,但 art 表可以有数百个重复项如果 base_folder 名称相同但图层不同,则系列代码和 baseimage 最多只能有 5 个。

示例数据:

Art Table baseimage

我想用 art 表 [id]、baseimage [id] 和 baseimage = “B”更新 set_colors 表,所以它需要做的是遍历 art 表“层”列—— color_id 将由另一个 sql 查询更新,因此某些行可能是 int 或 NULL

所以结果应该是这样的:

Result Set Colors table

我想到的是这个,但它不起作用,没有错误消息。它只是不填充表。我错过了什么??

$result_array = mysql_query("
UPDATE set_colors
JOIN art
JOIN baseimage
ON art.series_code = baseimage.base_folder
SET set_colors.school_art_id = art.id,
set_colors.baseimage_id = baseimage.id,
set_colors.baseimage_layer = baseimage.layer
WHERE baseimage.image_type = 'B'"
);
return !empty($result_array) ? array_shift($result_array) : false;

最佳答案

根据评论,我认为您的插入语句应如下所示:

INSERT INTO set_colors
(art_id, baseimage_id)
SELECT a.id, b.id
FROM baseimage b
INNER JOIN art a
ON b.base_folder = a.series_code
WHERE b.image_type = 'B'

关于php - 更新新表加入另外两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736955/

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