这是我想要将新数据插入数据库的查询。在此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);
答案 0 :(得分:4)
尝试使用MYSQL DB ..
ALTER TABLE
`TABLE_SCHEMA`.`TABLE_NAME`
CHANGE COLUMN
`ID` `ID` INT(6) NOT NULL
AUTO_INCREMENT;
答案 1 :(得分:1)
好的,首先要做的一件事:你应该逃避你的参数! See here
要解决您的问题:您可以将数据库中的字段定义为auto_increment,如果留空,会自动增加id。
答案 2 :(得分:1)
Amir你在上面的插入中有3个错误。
例如:
$ name ='汤姆'; $ email ='tom@o2.pl'
$ sql =“插入表格(姓名,电子邮件)VALUES(”。$ 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')";
$结果= mysql_query($ SQL);
答案 3 :(得分:0)
ALTER TABLE document
MODIFY COLUMN document_id
INT AUTO_INCREMENT;
您的SQL可能无法正常工作有几个原因。首先,您必须重新指定数据类型(在本例中为INT)。此外,您尝试更改的列必须编入索引(它不必是主键,但通常是您想要的)。此外,每个表只能有一个AUTO_INCREMENT列。因此,您可能希望运行以下SQL(如果您的列未编入索引):
ALTER TABLE document
MODIFY document_id
INT AUTO_INCREMENT PRIMARY KEY;
您可以在MySQL文档中找到更多信息:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html表示修改列语法,http://dev.mysql.com/doc/refman/5.1/en/create-table.html表示有关指定列的更多信息。