我需要将表格从MySQL转换为SQLite,但我无法弄清楚如何转换枚举字段,因为我在SQLite中找不到ENUM
类型。如何在SQLite中创建ENUM类型?
上述领域是下表中pType
:
CREATE TABLE `prices` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`pName` VARCHAR(100) NOT NULL DEFAULT '',
`pType` ENUM('M','R','H') NOT NULL DEFAULT 'M',
`pField` VARCHAR(50) NULL DEFAULT NULL,
`pFieldExt` VARCHAR(50) NULL DEFAULT NULL,
`cmp_id` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
我需要的只有三个值的字段以供用户选择,我想强制执行,在DB,不只是在我应用。
其实“自定义枚举表”是用真实的枚举 – 2011-03-14 15:55:05
为什么不使用CHECK()约束,只允许三个可能的字符串更清洁的设计? – mateusza 2013-06-19 23:31:04
>只允许三个可能的字符串:由于存储字符串? – 2014-05-09 20:18:57