默认枚举未添加

时间:2013-10-29 11:20:04

标签: mysql sql

我已经设置了下表:

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'
                            )";

1 个答案:

答案 0 :(得分:0)

如果你从insert语句中保留值,则

It works

这不起作用

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

但这将

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

因此,如果published没有值,则使用其他查询 - 第二个。