Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 像students这样的视图表的定义可以防止person表上的操作更新 学生作为与person表相关的视图_Mysql_Sql - Fatal编程技术网

Mysql 像students这样的视图表的定义可以防止person表上的操作更新 学生作为与person表相关的视图

Mysql 像students这样的视图表的定义可以防止person表上的操作更新 学生作为与person表相关的视图,mysql,sql,Mysql,Sql,尝试使用内部联接 UPDATE persons INNER JOIN (SELECT students.PERSONS_STCODE AS STCODE FROM students WHERE @Counter > 0 AND students.ID NOT IN (SELECT sel_lesson.ST_ID FROM sel_lesson W

尝试使用内部联接

UPDATE persons 
INNER JOIN  (SELECT students.PERSONS_STCODE AS STCODE 
         FROM students 
         WHERE @Counter > 0 
         AND students.ID NOT IN
            (SELECT sel_lesson.ST_ID 
             FROM sel_lesson 
             WHERE sel_lesson.YEAR = @CurrenYear 
             AND sel_lesson.TERM = @CurrentTerm 
             GROUP BY sel_lesson.ST_ID)
         AND students.STATUS IN('1','14') ) T on t.STCODE = persons.STCODE

SET persons.EN_FAMILY = 'Test' 

是Oracle还是MySQL?问题是什么?你有错误吗?哪一个?另外,假设我想帮助您,我需要重现错误,但我不知道涉及的表和视图的结构,因此我甚至无法尝试运行此语句。请通过构建一个Is MySQL来编辑您的问题,子查询work success并返回3行,但在update not workSo中,同样,我如何重现错误并尝试帮助您?“不工作”是什么意思?它会给出一个错误吗?或者它做了一些意想不到的事情?在这个查询中实际上有一个视图吗?如果有,它叫什么?@ali视图在sql中有一个非常特殊的含义。如果您将所有表规范(以及视图,如果有的话)和示例数据一起作为文本发布到问题,您将有更好的机会得到答案。感谢您的耐心,但此查询与我的查询一样存在错误query@ali向我显示您的确切错误消息..answay。。在T打开之前添加了一个(mssing)
UPDATE persons 
INNER JOIN  (SELECT students.PERSONS_STCODE AS STCODE 
         FROM students 
         WHERE @Counter > 0 
         AND students.ID NOT IN
            (SELECT sel_lesson.ST_ID 
             FROM sel_lesson 
             WHERE sel_lesson.YEAR = @CurrenYear 
             AND sel_lesson.TERM = @CurrentTerm 
             GROUP BY sel_lesson.ST_ID)
         AND students.STATUS IN('1','14') ) T on t.STCODE = persons.STCODE

SET persons.EN_FAMILY = 'Test'