したがって、データベースに行を追加するPHPフォームがあります。不要なフィールドのいずれかが空の場合、そのフィールドのデフォルト値を使用する必要があります。PHPの行のMySQL値をデフォルト値に設定する
私はこのようなMySQLiをしてこれを実装しようとした:
$required = $_POST["required"];
$unrequired = isset($_POST["unrequired"])?$_POST["unrequired"]:"DEFAULT(`Unrequired`)";
$sql = $mysqli->prepare("INSERT INTO `table` (`Required`,`Unrequired`) VALUES (?,?)");
$sql->bind_param("is",$required,$unrequired);
$sql->execute();
しかし、私はSELECT unrequired FROM table WHERE required = 33
を使用して不要なフィールドの値を取得しようとすると、私はDEFAULT( `Unrequired`)を取得の代わりに、デフォルトvarchar列の列の値、intおよびdouble列の場合はです。
この問題は、PHPまたはMySQLによって発生しますか?
メモ:不要なフィールドの一部はnull可能であり、一部はそうではありません。ヌル可能でないものは、デフォルト値が設定されています。 intとdoubleフィールドのデフォルト値の設定は1で、残りはnullです。
DEFAULT( 'Unrequired')とは何ですか? DEFAULT( 'Unrequired')が返され、テーブルに挿入されます。 DEFAULT( 'Unrequired')の代わりにデフォルト値を設定することができます。 –