私はこれのためにダウンモッドになりますか?
$sql = "UPDATE skills SET level = level+1 WHERE id = $id";
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
Teifionの特定のケースでは、phpBBDDLはその特定のフィールドをNOTNULLとしてリストするため、NULLを増やす危険はありません。
一般的なケースでは、ゼロを表すためにNULLを使用しないでください。 NULLをインクリメントするすべき NULLの答えを与えます。あなたがNULL=0と考え、キーボードから離れて別の娯楽を見つけるような見当違いの開発者である場合、あなたは私たちの残りの人々の生活を困難にしているだけです。もちろん、これはコンピュータ業界であり、あなたが間違っていると誰が言うのですか?間違っていない場合は、
を使用してください$sql = "UPDATE skills SET level = COALESCE(level,0)+1 WHERE id = $id";
...しかし、それに直面しましょう:あなたは間違っています。全員がレベル0から始める場合は、DDLに含める必要があります
level INT DEFAULT '0' NOT NULL
プログラマーがレコードを作成するときに設定するのを忘れた場合に備えて。全員がレベル0から開始するわけではない場合は、DEFAULTをスキップして、作成時にプログラマーに値を指定するように強制します。レベルを超えている人がいて、レベルを持つことは無意味なことである場合、レベルにレベルを追加しても意味がありません。その場合は、DDLからNOTNULLを削除してください。