MySQL表:BIT(1)not null默认b'1',但是,总是默认为'0'

时间:2016-09-12 22:37:42

标签: mysql

这就是我创建表格的方式:

CREATE TABLE `item_spa_cust` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `spa_id` INT(10) NULL DEFAULT NULL,
    `type` VARCHAR(20) NOT NULL COLLATE 'latin1_swedish_ci',
    `is_valid` BIT(1) NOT NULL DEFAULT b'1',
    `company_name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
    `custno` VARCHAR(6) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
    PRIMARY KEY (`id`),
    INDEX `FK_item_spa_cust_item_spa` (`spa_id`),
    CONSTRAINT `FK_item_spa_cust_item_spa` FOREIGN KEY (`spa_id`) REFERENCES `item_spa` (`id`)) 
;

我期待is_valid字段在我设置时默认为'1',但是,它总是默认为'0'。

我对此非常困惑,请帮忙。

1 个答案:

答案 0 :(得分:1)

您应该使用1,而不是b'1'

话虽如此,在这个方面,它按预期工作。

如果您正在插入并查找默认值,则不应在插入查询中指定它。