0

我设置了下表:

CREATE TABLE `acts` (
`act_id` int(11) NOT NULL AUTO_INCREMENT,
`act_name` varchar(128) DEFAULT NULL,
`short_description` varchar(128) DEFAULT NULL,
`published` enum('1','0') DEFAULT '0',
`date_added` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`act_id`)
)

当我为该列输入一条没有值的新记录时,published我希望它自动输入 0,但事实并非如此?这是为什么?

这是我使用的查询 -$publish是一个值为 1 或没有的复选框 - 是问题吗?因此,当我不希望它自动添加 0 但似乎我可以用空白覆盖枚举时?

我知道我可以做到if(!$publish){ $publish=0; }但仍然有奇怪的行为?

$query = "insert into acts ( 
                            act_name,
                            short_description,
                            published
                            ) VALUES ( 
                            '$name', 
                            '$short', 
                            '$publish'
                            )";
4

1 回答 1

0

如果您从插入语句中保留值,它会起作用。

这行不通

insert into acts (act_name, short_description, published) 
VALUES ('$name', '$short', '$publish')

但这会

insert into acts (act_name, short_description) 
VALUES ('$name', '$short')

因此,如果您没有任何价值,请published使用不同的查询 - 第二个。

于 2013-10-29T11:36:21.790 回答