将新行添加到唯一表

时间:2011-03-23 15:48:41

标签: php mysql

我有一个带有唯一列'a'的表。我想为它添加一行。

如果我要添加的行具有表中已有的'a'值,那么当然,由于列的唯一性,它将不会被添加,否则,它将被添加。我需要检查是否添加了新行,然后告诉我表中是否已经存在'a'值。

检查新条目是否已添加到表格中的最有效方法是什么?

编辑 - 对于测量,到目前为止最坏的情况是前一次计数和......后的计数

2 个答案:

答案 0 :(得分:1)

我总是使用ON DUPLICATE KEY UPDATE(但我通常希望在唯一键退出时更新行...)。

在PDO中,您可以获得一个类似$stmt->rowCount()的返回代码,该代码为新记录提供1,为更新记录提供2。

答案 1 :(得分:0)

我的意思是这样的(愚蠢的例子)

$conn = mysql_connect('bla bla bla');
if (!mysql_query("insert into my_table values ('b')")) {
    echo mysql_errno($conn) . ': ' . mysql_error($conn) . "\n";
 }
 else { 
 echo 'ok!';
}