如何检查数据库(PHP)中是否已存在INSERT INTO id

时间:2014-05-11 07:50:11

标签: php mysql insert

如何检查我计划插入表格的ID是否已存在?如果是这样,我该如何重复这个过程

$itemID = rand(1,99);
$itemName = $_POST['insert_item_name'];

$query = "INSERT INTO items (id, name) VALUES('$itemID', '$itemName')";

2 个答案:

答案 0 :(得分:0)

执行所需操作的最简单方法是首先运行select以进行检查 - 但这可能不是最佳解决方案。常见的方法是使用auto_increment之类的列,这意味着您只需将null插入该列的表中,数据库将自动增加一个。

例如,使用auto_increment列,您需要做的就是这样插入:

insert into items (id, name) values (null, 'SomeName');

这将确保该列是唯一的,并且永远不会以相同ID的多个记录结束。

您还可以尝试replace into之类的内容,如果该行已经包含该ID,则会替换该行。

replace into items(id, name) values (3,'SomeName');

如果没有一行,这将在表中插入一行,或者在查询中替换新数据的内容 - 但是您需要确保在创建时将列id设置为唯一桌子。

答案 1 :(得分:-1)

$aSql  = mysql_query("select count(*) from table where id = '$itemID'");
$iCnt = mysql_fetch_array($aSql);
if($iCnt > 0)
{
   echo "Id already exists";
}
else
{
  echo "insett new id";
}