Mysql存储布尔值,读取为true或false

时间:2014-03-04 08:50:24

标签: mysql sql extjs

我想创建一个包含布尔值的列,我不想使用TINYINT(0)并将0存储为false而将1存储为true,而是我想存储“true”或“false”值,但不是VARCHAR值。

我这样做是因为我正在使用Extjs,并且我正在动态创建组合框,我需要将这些布尔值用作参数,如下所示:

function createComboBox(editable) {
var combo = new Ext.form.ComboBox({
    typeAhead: true,
    mode: 'local',
    forceSelection: true,
    triggerAction: 'all',
    emptyText: 'Select item...',
    selectOnFocus: true,
    //...other settings
    editable: editable // true or false
});
return combo;
};

可编辑将为“true”或“false”(不带引号)。

我应该只使用varchar列并删除Extjs中的引号吗?还有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用ENUM('true','false')作为列数据类型。

答案 1 :(得分:0)

使用int并将其强制转换为布尔值(但可能不是真的需要):

var boolValue = !!intValue;