我有一个带有唯一列'a'的表。我想为它添加一行。
如果我要添加的行具有表中已有的'a'值,那么当然,由于列的唯一性,它将不会被添加,否则,它将被添加。我需要检查是否添加了新行,然后告诉我表中是否已经存在'a'值。
检查新条目是否已添加到表格中的最有效方法是什么?
编辑 - 对于测量,到目前为止最坏的情况是前一次计数和......后的计数
答案 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!';
}