我在数据库中的字段只包含3个可能的值:0,1和2.所以,我想知道我应该使用什么数据类型?我发现this似乎我应该使用tinyint(1),但是它的范围是-127到126,所以我想知道我的选择还是实际上有更好的东西?
答案 0 :(得分:5)
tinyint(1) unsigned
可能适合此
答案 1 :(得分:0)
不推荐但是...我最初在想空间是否真的是一个值得探索的大问题。
如果你可以使用NULL,0,1而不是0,1,2,那么boolean / bit也可以工作。
然而,看起来像boolean和tinyint几乎是一样的。 tinyint是mysql中所有数据类型的最小占用空间。请参阅link。
答案 2 :(得分:0)
如果您希望确保输入的数字仅为0,1或2,那么最好在表格中添加CHECK约束。
ALTER TABLE
tableName
ADD CONSTRAINT
checkConstain
CHECK (columnName BETWEEN 0 and 2)
您可以在SQL Fiddel
上看到此示例