MySQL两表之间根据一个表的字段更新另一个表的字段无效
问题描述
我想把a表的chapterid字段改为b表的id字段, 条件是courseid相同 可是下面的sql语句无效, 求大神解答..
相关代码
UPDATE cmf_course_lesson a,
cmf_course_chapter b
SET a.chapterid = b.id
WHERE
a.courseid = b.courseid;
a表的表结构
b表的表结构
回答:
where条件加上主键就好了 where ... and A.id > 0
MySql运行在safe-updates模式下,导致非主键条件下无法执行update或者delete命令
回答:
UPDATE cmf_course_lesson a,
cmf_course_chapter b
JOIN cmf_course_lesson ON a.courseid = b.courseid
SET a.chapterid = b.courseid
回答:
UPDATE cmf_course_lesson a left join cmf_course_chapter bON a.courseid = b.courseid
SET a.chapterid = b.courseid
where b.courseid > 0;
以上是 MySQL两表之间根据一个表的字段更新另一个表的字段无效 的全部内容, 来源链接: utcz.com/p/944126.html