如何使用UPDATE查询来更新另一个表

时间:2018-02-24 23:39:37

标签: php mysqli

在Exam1表中,可以正确添加ID,examname和exam_id值。但是当我尝试使用UPDATE查询将点更新到另一个表(问题)时,它不起作用。

        for($i = 1; $i<$arraysize; $i++){ //For every question

            $questionid = $array[$i]['questionid'];
            $points     = $array[$i]['points'];
            $ID = $ID+1;

            $queue ="INSERT INTO Exam1 (ID, examname, exam_id) VALUES
            ('$questionid','$examname', '$exam_id')";
            $result = mysqli_query($connection,$queue);


            $queue1 ="INSERT INTO points (ID, points) VALUES
            ( '$ID' , '$points')";
            $result1 = mysqli_query($connection,$queue1);



         $sql = "UPDATE Question SET points='$points' where ID ='$questionid'";

           $result1 = mysqli_query($connection,$sql);

        }

enter image description here

2 个答案:

答案 0 :(得分:0)

hideNavigationItem();

private void hideNavigationItem() {
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_draw);  
        Menu nav_Menu = navigationView.getMenu();
        nav_Menu.findItem(R.id.nav_inicio).setVisible(false);
    }

请试试这个

答案 1 :(得分:0)

首先要小心int类型,并将UPDATEINSERT中的值放入引号中:有类型转换发生,它可能会产生结果,你可能没想到。

其次,我仍然很难理解您的数据库的数据模型:您正在使用Exam1.ID加入Question.ID。两者似乎都是我的实体的代理人。否则,我不明白列Exam_ID的含义(最有可能来自您案例中的表Question)应该是什么。因此,我们认为您WHERE声明中的UPDATE条款不完整(您是否也要限制EXAM_ID?否则您可能会将所有问题的所有积分都设置为20而不管考试......?)

如果我弄错了,请提供有关数据库架构设置的详细概述,包括至少下表的主键:

  • Exam1
  • points
  • Question

让我们进一步帮助你(我在这里调整答案)。同时让我们深入了解您如何看待表之间的外键关系可能有助于我们为您提供帮助。