MySQL两表联表更新受限,如何避免安全更新模式限制?

mysql两表联表更新受限,如何避免安全更新模式限制?

mysql两表联表更新受限

问题中提到的sql语句无法执行,是因为mysql运行在安全更新模式(safe-updates)下。在这种模式下,对于非主键条件执行更新或删除操作是不允许的。

因此,解决此问题的关键是确保在where条件中包含主键。在此例中,可以将主键限定为a表,如下所示:

UPDATE cmf_course_lesson a, cmf_course_chapter b
SET a.chapterid = b.id
WHERE a.courseid = b.courseid and a.id > 0;

通过添加a.id > 0条件,我们可以确保只更新有主键的a表记录。这将有效地更新两表之间的字段,同时遵循安全更新模式的限制。

以上就是MySQL两表联表更新受限,如何避免安全更新模式限制?的详细内容,更多请关注其它相关文章!