Php 向数据库添加唯一密钥
我的网站上有一个表单,用户可以输入他们的fname、sname、公司、电话、电子邮件,然后在提交时更新到数据库中。我的数据库中还有一个字段,用于唯一的userID,以防用户具有相同的名称和公司等。提交我的表格时,如何才能在此字段中添加一个唯一的数字,以便它是已获取字段中的+1。目前只有3个用户名,所以我需要下一个输入的用户名是4,以此类推 目前我有这个Php 向数据库添加唯一密钥,php,sql,database,insert,Php,Sql,Database,Insert,我的网站上有一个表单,用户可以输入他们的fname、sname、公司、电话、电子邮件,然后在提交时更新到数据库中。我的数据库中还有一个字段,用于唯一的userID,以防用户具有相同的名称和公司等。提交我的表格时,如何才能在此字段中添加一个唯一的数字,以便它是已获取字段中的+1。目前只有3个用户名,所以我需要下一个输入的用户名是4,以此类推 目前我有这个 require_once('dbConnect.php'); //taken from a smarty template form. $add
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;}
}
谢谢在数据库中将行创建为
自动增量
:
create table someName (ID int primary key auto_increment, col1 int ...);
然后,当您插入数据时,要么将其传递为null,要么不要像这样插入该字段:
insert into someName (col1) values (3);
或
您可以使用以下内容修改当前表:
ALTER TABLE someName MODIFY COLUMN ID INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (ID);
在数据库中将行创建为
自动增量
:
create table someName (ID int primary key auto_increment, col1 int ...);
然后,当您插入数据时,要么将其传递为null,要么不要像这样插入该字段:
insert into someName (col1) values (3);
或
您可以使用以下内容修改当前表:
ALTER TABLE someName MODIFY COLUMN ID INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (ID);
如果您使用的是phpmyadmin,则在创建带有“a_I”或“Auto_Increment”的新列时,应该有一个复选框。。您必须选中该复选框,然后它将计算您的入口。如果您使用的是phpmyadmin,则在创建带有“a_I”或“Auto_Increment”的新列时,应该有一个复选框。。您必须检查该项,然后它将计算您的入口数。创建ID:
ALTER TABLE users ADD ID INT UNSIGNED
NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (ID);
然后在需要的地方开始自动递增
ALTER TABLE tbl AUTO_INCREMENT = 4;
创建ID:
ALTER TABLE users ADD ID INT UNSIGNED
NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (ID);
然后在需要的地方开始自动递增
ALTER TABLE tbl AUTO_INCREMENT = 4;
创建一列,将其设置为主键并自动递增。您甚至可以编写一个存储过程来插入表中。这样,您就不必每次都编写查询,也不必担心转义字符。如果希望从存储过程返回特定的no,请在存储过程中使用
SCOPE\u IDENTITY()
。创建一列,将其设置为主键并自动递增。您甚至可以编写一个存储过程来插入表中。这样,您就不必每次都编写查询,也不必担心转义字符。如果希望从存储过程返回特定的no,请在存储过程中使用SCOPE\u IDENTITY()
。Doh,当然应该实现。谢谢哦,应该是的。谢谢