我已经设置了下表:
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'
)";
答案 0 :(得分:0)
这不起作用
insert into acts (act_name, short_description, published)
VALUES ('$name', '$short', '$publish')
但这将
insert into acts (act_name, short_description)
VALUES ('$name', '$short')
因此,如果published
没有值,则使用其他查询 - 第二个。