登录
首页 >  文章 >  php教程

MySQL 更新两张表字段时出现“无效”错误,如何解决?

时间:2024-10-29 10:57:43 149浏览 收藏

哈喽!今天心血来潮给大家带来了《MySQL 更新两张表字段时出现“无效”错误,如何解决?》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

MySQL 更新两张表字段时出现“无效”错误,如何解决?

在 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 更新两张表字段时出现“无效”错误,如何解决?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>