另一个表从名称更新场
问题描述:
我有这两个表:另一个表从名称更新场
tbl_courses
id user_id course_name
3 5 First Course
4 5 Second Course
tbl_notes
id user_id course_id
1 5 3
2 5 4
我想写正在接收更新的课程名称,一个简单的合并脚本:course_name
例如,用户将First Course
更改为Second Course
,并要求将此新标题的所有注释合并到此标题中。
所以我试图找到一种方法与COURSE_ID更新所有条目tbl_notes
从First Course
匹配的Second Course
我送$user_id
的ID,$course_id
,并$course_name
作为参数
答
如果我正确理解有什么需要查询:
UPDATE `tbl_notes`
LEFT JOIN `tbl_courses`
ON `tbl_courses`.`user_id` =`tbl_notes`.`user_id`
AND `tbl_courses`.id = `tbl_notes`.`course_id`
SET `tbl_notes`.`course_id` = 4
WHERE `tbl_courses`.`course_name` ='First Course'
AND `tbl_courses`.`user_id` = 5
随着PHP代码SQL查询:
$sql = "UPDATE `tbl_notes`
LEFT JOIN `tbl_courses`
ON `tbl_courses`.`user_id` =`tbl_notes`.`user_id`
AND `tbl_courses`.id = `tbl_notes`.`course_id`
SET `tbl_notes`.`course_id` = $course_id
WHERE `tbl_courses`.`course_name` ='First Course'
AND `tbl_courses`.`user_id` =$user_id ";
答
update tbl_notes set course_id=(select id
from tbl_courses where course_name='First Course' limit 1)
你的意思是哪里COURSE_ID = 3更新到4? –
是的,但可能会有许多笔记与course_id。这只是一个简短的例子 – tmartin314