我想创建一个包含布尔值的列,我不想使用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中的引号吗?还有更好的方法吗?
答案 0 :(得分:0)
您可以使用ENUM('true','false')作为列数据类型。
答案 1 :(得分:0)
使用int并将其强制转换为布尔值(但可能不是真的需要):
var boolValue = !!intValue;