【问题标题】:How to SET table data when the Primary Key "Submission_ID" and "TimeEntered" are auto incremented主键“Submission_ID”和“TimeEntered”自动递增时如何设置表数据
【发布时间】:2017-02-13 06:58:04
【问题描述】:

所以我有一个表格,我试图从网页上的文本框中插入数据。该表有两列是自动递增的。这些列是主键,即“Submission_ID”和“TimeEntered”列。我们不确定将数据设置到数据库中的表的查询应该是什么。这是代码:

include('connect-db.php');

//Setting Values of Textboxes to strings and making sure it's valid and secure
$SubmissionID = test;
$SchoolID= $_POST['newSchoolID'];
$UserID = $_POST['newUserID'];
$UndergradHead = $_POST['newUndergradHead'];
$UndergradFTE = $_POST['newUndergradFTE'];
$GradHead = $_POST['newGradHead'];
$GradFTE = $_POST['newGradFTE'];
$ProfessionalHead= $_POST['newProfessionalHead'];
$ProfessionalFTE = $_POST['newProfessionalFTE'];
$TimeEntered = Null;
$type = mysql_real_escape_string(htmlspecialchars($_POST['type']));

 //Generating the Query
if($type == "ibhe")
{
    mysql_query("INSERT Count 
                    SET Submission_ID= NULL, 
                    School_ID='$SchoolID', 
                    UserID='$UserID', 
                    UnderCount='$UndergradHead', 
                    FTE_UnderCount='$UndergradFTE', 
                    GradCount='$GradHead', 
                    FTE_GradCount='$GradFTE', 
                    Pro_HeadCount='$ProfessionalHead', 
                    Pro_FT_Enrollment='$ProfessionalFTE, 
                    TimeEntered=CURRENT_TIMESTAMP") 
                    or die(mysql_error());
 echo "Entry Added";
}

我们可以在以前的网页上很好地完成此操作,该网页没有输入任何自动递增的数据,但现在我们无法进行查询,因为表中的两列设置为自动递增。

【问题讨论】:

  • 您最好向我们展示您的架构,以便我们确定这两个字段的设置是什么

标签: php mysql insert auto-increment


【解决方案1】:

首先,如果你有一个带有 auto_increment 的列,你不能声明它有一个空值Submission_ID= NULL 你必须确定是否真的需要让提交 id 为 auto_increment,如果是这样,简单的不要调用在查询中,就这样吧,如果没有,那么您必须分离列中的 auto_increment 属性并手动分配它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2020-01-15
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多