PHP前端开发

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

百变鹏仔 1个月前 (12-15) #PHP
文章标签 模式

mysql两表联表更新受限

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

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

UPDATE cmf_course_lesson a, cmf_course_chapter bSET a.chapterid = b.idWHERE a.courseid = b.courseid and a.id > 0;

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