gpt4 book ai didi

php - 在 PHP 中将一行的 MySQL 值设置为默认值

转载 作者:行者123 更新时间:2023-11-29 03:25:00 25 4
gpt4 key购买 nike

所以我有一个 PHP 表单可以向数据库中添加一行。如果任何不需要的字段为空,则应使用该字段的默认值。

我试着像这样用 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 列的 0

这个问题是PHP引起的,还是MySQL引起的?

注意:一些不需要的字段可以为空,有些则不能。那些不可为空的具有设置的默认值。 int 和 double 字段的设置默认值为 1,其余可为空。

最佳答案

您不能只在数据库结构中设置默认值吗?您可以在下面看到一个示例;

CREATE TABLE example_table
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Address varchar(255), DEFAULT 'unrequired'
City varchar(255) DEFAULT 'Unrequired'
)

当您像这样创建表格时,您就可以开始了。您还可以更改表格

ALTER TABLE example_table
ALTER City SET DEFAULT 'Unrequired'

关于php - 在 PHP 中将一行的 MySQL 值设置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37908066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com