我的网站上有一个表单供用户输入他们的fname,sname,公司,电话,电子邮件,然后在提交时更新到数据库。我的数据库中还有一个字段,用于指定用户具有相同名称和公司等的唯一userID。在提交表单时,如何在此字段中添加一个唯一的数字,使其与已经采用的字段相比为+1。在那一刻,只有3个用户ID,所以我需要下一个输入的一个是4,依此类推。
此刻我有这个。
require_once('dbConnect.php');
//taken from a smarty template form.
$addForename = $_POST['forename'];
$addSurname = $_POST['surname'];
$addCompany = $_POST['company'];
$addContact = $_POST['contact'];
$addEmail = $_POST['email'];
public function addUser($addForename,$addSurname,$addCompany,$addContact,$addEmail)
{
$sql = "INSERT INTO `Users` (`Forename`, `Surname`, `ComanyName`, `Phone`, `Email`) VALUES ('".$addForename."','".$addSurname."','".$addCompany."','".$addContact."','".$addEmail."')";
$databaseAccess = new DatabaseConnect();
try
{
$result = $databaseAccess->connect($sql, "add");
}
catch (Exception $e)
{
throw new Exception("Adding User Failed !!!");
}
if ($result)
{
return 1;
}
else{return 0;}
}
感谢
答案 0 :(得分:2)
如果您使用的是phpmyadmin,当您使用“A_I”或Auto_Increment创建新列时,应该有一个复选框..您必须检查它,然后它将计算您的主语。
答案 1 :(得分:1)
在数据库中将行创建为auto_increment
:
create table someName (ID int primary key auto_increment, col1 int ...);
然后在插入数据时,要么传递一个null,要么不要像这样插入那个字段:
insert into someName (col1) values (3);
或
insert into someName (ID, col1) values (null, 3);
您可以使用以下内容修改当前表:
ALTER TABLE someName MODIFY COLUMN ID INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (ID);
答案 2 :(得分:0)
创建ID:
ALTER TABLE users ADD ID INT UNSIGNED
NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (ID);
并在您想要的地方开始自动增量
ALTER TABLE tbl AUTO_INCREMENT = 4;
答案 3 :(得分:0)
创建一个列,将其设置为主键并自动增量。您甚至可以编写存储过程以插入表中。这样您就不必每次都编写查询而不必担心转义字符。如果您希望从存储过程返回特定的no,请使用存储过程中的SCOPE_IDENTITY()
。