您好我仍然是新的sql查询我试图用其他三个表的主键更新表。我没有得到任何错误,但它显然不起作用,因为我的表没有更新...有人可以告诉我我做错了什么?
更新表名为“set_color”
$results_array = mysql_query("
SELECT * school_art
JOIN baseimage
ON school_art.series_code = baseimage.basefolder
WHERE baseimage.image_type = 'B'
UPDATE set_colors SET
set_colors.school_art_id = school_art.id,
set_colors.baseimage_id = baseimage.id,
set_colors.baseimage_layer = baseimage.layer
;");
return !empty($result_array) ? array_shift($result_array) : false;
请帮助..
答案 0 :(得分:0)
你很亲密,但根据update syntax,我们必须稍微改变一下:
UPDATE set_colors
JOIN school_art
JOIN baseimage
ON school_art.series_code = baseimage.basefolder
set_colors.school_art_id = school_art.id,
set_colors.baseimage_id = baseimage.id,
set_colors.baseimage_layer = baseimage.layer
WHERE baseimage.image_type = 'B'
UPDATE
JOIN
SET
,然后是要设置的列(在JOINed查询中,您还可以在其他表中设置列,而不仅仅是第一个列。)WHERE
条款。但是:不要运行它:这将更新 WHOLE 表。根据set_colors中的哪些列,您要选择应更新的记录?