如何检查我计划插入表格的ID是否已存在?如果是这样,我该如何重复这个过程
$itemID = rand(1,99);
$itemName = $_POST['insert_item_name'];
$query = "INSERT INTO items (id, name) VALUES('$itemID', '$itemName')";
答案 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";
}