3つのフィールドを含むテーブルを作成し、後続のフィールドに2つのフィールドが追加されたときに新しいフィールドを作成するのではなく、私は 2列が一意の行に一致する必要がある場合、MySQLデータベースでREPLACE INTOを使用する
は= $ var_c WHERE = $ CテーブルセットにREPLACE c'-行 'A' を持っている 'テーブル'、 'B' と」にこのような何かをしたい言い換えれば
var_bとb = $ var_b
AND bが一致する行があるかどうかをチェックし、更新する行がない場合は新しい行にcを書き込むようにします。 (わかりやすいと申し訳ありません)
ここではREPLACEを使用する代わりに行ったことがあります。このコードは必要なものを実現しますが、これを行うためのより効率的な方法があると確信しています。おかげ
$query1 = "SELECT COUNT(*) FROM table WHERE a = $var_a AND b = $var_b";
$result = @mysql_query ($query1);
$num = mysql_fetch_row($result);
if($num[0] != 0) {
$query = "UPDATE table SET c = $var_c WHERE a = $var_a AND b = $var_b";
}
else {
$query = "INSERT INTO table VALUES ($var_a, $var_b, $var_c)";
}
$result = @mysql_query ($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
'(a、b)'にユニークキーがありますか?もしあれば、 'REPLACE INTO ...'が動作するはずです。 – Hammerite