在DB表上记录数据

时间:2012-02-22 08:25:23

标签: php mysql database

是否可以在两个不同的场合有一个表并在一行中插入数据?我的意思是,我有一个有五列的表,在第一次提交数据时,我想在该表上只记录两个字段的数据,并且在同一行的不同数据提交中,我想记录剩下的3个数据未记录任何数据的列。我应该用什么方法? INSERT还是更新?或者都不是?

抱歉,我的英语不好,而且提问的方式令人困惑。

代码:

  $query = ("SELECT q1 FROM grades where studentnumber = '$_POST[studentnumber]' && subjectcode = '$_POST[subjectcode]' ");
 $result=mysql_query($query);
 if($result)
  {

if(mysql_num_rows($result) ==1)
    {

      $sql=mysql_query("UPDATE grades SET q1 = '$_POST[q1]' where studentnumber = '$_POST[studentnumber]' AND subjectcode = '$_POST[subjectcode]'"); 

        if($sql) 
          { 
          echo "<script type='text/javascript'>alert('Password successfully changed'); location.href = 'cvsu-sis_grades.php';</script>";
          }
    }
    }
    else
  { 
    echo "<script type='text/javascript'>alert('Record Does not Exist'); location.href = 'cvsu-sis_grades.php';</script>";
  }  

我省略了一些专栏,只是为了让男女同校更短,但很可能是相同的。只是一系列的q1,q2,......

3 个答案:

答案 0 :(得分:2)

第一个查询应该是INSERT,然后您可以获取最后插入的ID并执行UPDATE查询

答案 1 :(得分:1)

您可以对前两列使用INSERT,并使用mysql_insert_id()获取插入的ID(仅当您的主键列名称为“id”时)并使用此项,您可以使用UPDATE更新剩余的三列

答案 2 :(得分:0)

首先,您必须确保,当您在第一个INSERT上插入2个字段时,您留空的字段将被允许为NULL

您必须INSERT表中的第一个数据,之后,当您要添加其余字段时,您必须UPDATE该行。确保在UPDATE时使用WHERE约束(例如已输入2个字段),否则所有行都将更新!