Php 自动递增id

Php 自动递增id,php,automation,Php,Automation,这是我要将新数据插入数据库的查询。以前,这个id是使用旧系统自动生成的,现在我用php生成一个新表单。这是我的查询,现在我想做一个自动增量id。如何做一个自动增量id。如果有人知道,请帮助我 $sql="INSERT INTO $tbl_name(id, name, icno, email, applyIntake_id, modeOfStudy_id, choice1_id, dob, nationalityType, gender_id, race_id, highestE

这是我要将新数据插入数据库的查询。以前,这个id是使用旧系统自动生成的,现在我用php生成一个新表单。这是我的查询,现在我想做一个自动增量id。如何做一个自动增量id。如果有人知道,请帮助我

$sql="INSERT INTO $tbl_name(id, name, icno, email, applyIntake_id, modeOfStudy_id, 
        choice1_id, dob, nationalityType, gender_id, race_id, highestEducation_id,
        address1, address2, postcode, city, state_id, permanent_address1,
        permanent_address2, permanent_postcode, permanent_city, permanent_state,
        telephoneNo, mobileNo)
    VALUES('$name', '$icno', '$email', '$id', '$applyIntake_id', '$modeOfStudy_id',
        '$choice1_id', '$dob', '$nationalityType', '$gender_id', '$race_id', 
        '$highestEducation_id', '$address1', '$address2', '$postcode', '$city', 
        '$state_id', '$permanent_address1', '$permanent_address2', 
        '$permanent_postcode', '$permanent_city', '$permanent_state', 
        '$telephoneNo', '$mobileNo')";
$result=mysql_query($sql);

在MYSQL数据库中试试这个

ALTER TABLE
    `TABLE_SCHEMA`.`TABLE_NAME` 
CHANGE COLUMN
    `ID` `ID` INT(6) NOT NULL 
AUTO_INCREMENT;

好的,首先要做一件事:你应该避开你的参数


为了解决您的问题:您可以将数据库中的一个字段定义为自动增量,如果保留为空,将自动增量id。

ALTER TABLE
document
MODIFY COLUMN
document\U id
INT auto\U increment

SQL可能无法工作有几个原因。首先,必须重新指定数据类型(本例中为INT)。此外,您试图更改的列必须被索引(它不必是主键,但通常这是您想要的)。此外,每个表只能有一个自动增量列。因此,您可能希望运行以下SQL(如果您的列没有索引):


ALTER TABLE
document
MODIFY
document\u id
INT自动递增主键


您可以在MySQL文档中找到更多信息:关于修改列语法和关于指定列的更多信息。

Amir您在上面的插入中有3个错误

  • 列数匹配,但您尝试将#tbl_name(email)值插入$id
  • 请将id字段设置为自动递增。答案在上面的帖子中
  • 我认为,在准备PHP$sql变量时,您必须使用“.”作为字符串运算符,以使用变量中的数据获取正确的sql INSERT语句-目前,下面的INSERT将插入数据库,而不是将您的名称变量$name作为字符串插入数据库
  • Exmaple:

    $name='Tom'; $email='1tom@o2.pl"

    $sql=“插入表(名称、电子邮件)值(“..$name.”、“$email.”);”

    然后使用以下插入,但应用上面的字符串连接示例-它应该可以工作:

    $sql="INSERT INTO $tbl_name(name, icno, email, applyIntake_id, modeOfStudy_id, 
        choice1_id, dob, nationalityType, gender_id, race_id, highestEducation_id,
        address1, address2, postcode, city, state_id, permanent_address1,
        permanent_address2, permanent_postcode, permanent_city, permanent_state,
        telephoneNo, mobileNo)
    VALUES('$name', '$icno', '$email', '$applyIntake_id', '$modeOfStudy_id',
        '$choice1_id', '$dob', '$nationalityType', '$gender_id', '$race_id', 
        '$highestEducation_id', '$address1', '$address2', '$postcode', '$city', 
        '$state_id', '$permanent_address1', '$permanent_address2', 
        '$permanent_postcode', '$permanent_city', '$permanent_state', 
        '$telephoneNo', '$mobileNo')";
    

    $result=mysql\u查询($sql)

    在MySQL中将
    id
    设置为
    auto increment