是否可以在两个不同的场合有一个表并在一行中插入数据?我的意思是,我有一个有五列的表,在第一次提交数据时,我想在该表上只记录两个字段的数据,并且在同一行的不同数据提交中,我想记录剩下的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,......
答案 0 :(得分:2)
第一个查询应该是INSERT
,然后您可以获取最后插入的ID并执行UPDATE
查询
答案 1 :(得分:1)
您可以对前两列使用INSERT,并使用mysql_insert_id()获取插入的ID(仅当您的主键列名称为“id”时)并使用此项,您可以使用UPDATE更新剩余的三列
答案 2 :(得分:0)
首先,您必须确保,当您在第一个INSERT
上插入2个字段时,您留空的字段将被允许为NULL
!
您必须INSERT
表中的第一个数据,之后,当您要添加其余字段时,您必须UPDATE
该行。确保在UPDATE
时使用WHERE
约束(例如已输入2个字段),否则所有行都将更新!