我有一個帶有唯一列'a'的表。我想添加一行。向唯一表添加新行
如果我想添加的行有一個已經在表中的'a'值,那麼當然,由於列的唯一性,它不會被添加,否則它將被添加。我需要檢查是否添加了新行,這會告訴我'a'值是否已經在表中。
什麼是檢查新條目是否已添加到表格中的最有效方法?
編輯 - 對於措施,最壞的情況,到目前爲止是前一個數和後一個個性化......
我有一個帶有唯一列'a'的表。我想添加一行。向唯一表添加新行
如果我想添加的行有一個已經在表中的'a'值,那麼當然,由於列的唯一性,它不會被添加,否則它將被添加。我需要檢查是否添加了新行,這會告訴我'a'值是否已經在表中。
什麼是檢查新條目是否已添加到表格中的最有效方法?
編輯 - 對於措施,最壞的情況,到目前爲止是前一個數和後一個個性化......
我的意思是這樣的(例如傻)
$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!';
}
您從php手冊複製了該文件!但是沒問題。 – David19801 2011-03-23 17:16:46
我不能重新發明輪子 – 2011-03-23 18:55:26
我總是用ON DUPLICATE KEY UPDATE
爲(但我通常要更新行時唯一鍵已經退出...)。
在PDO中,你可以得到一個類似於$stmt->rowCount()
的返回碼,它給出了1個新記錄和2個更新記錄。
您需要在應用層面進行檢查。看看http://www.php.net/manual/en/function.mysql-errno.php – 2011-03-23 15:51:36
如果要添加的擬建行的「a」不是唯一的,將返回什麼錯誤? – David19801 2011-03-23 15:58:05
錯誤代碼:1062重複條目'a'爲鍵'your_field' – 2011-03-23 16:03:00