在 mysql 中通过子查询更新两张表之间的字段时,可能会遇到“无效”的错误。
问题描述:
您希望使用 sql 语句将表 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;
解决方案:
要解决此问题,需要在 where 条件中添加对表 a 的主键(在本例中为 a.id)。mysql 运行在安全更新模式下,该模式要求非主键条件下执行更新或删除命令时必须包含主键条件。
修改后的 sql 语句如下:
UPDATE cmf_course_lesson a, cmf_course_chapter b SET a.chapterid = b.id WHERE a.courseid = b.courseid AND A.id > 0;
以上就是MySQL 更新两张表字段时出现“无效”错误,如何解决?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号