可能重复:
Which MySQL Datatype to use for storing boolean values?什么是在MySQL中存储布尔值的数据类型?
我是一个.NET程序员,使用MySQL数据库在我生命中的第一次。
我想存储布尔值,MySQL有BIT
,但此数据类型的.NET转换为UINT64
。
还有另一种数据类型TINYINT(1)
,其.NET相当于System.Boolean
这将符合我的目的。
但我为什么会用TINYINT(1)
(可存储123一样,22的值),而不是BIT
和将采取更多的空间比BIT
也(我猜)?使用它可能是合法的,但我不认为它是符合逻辑的。
有人能帮助并澄清我的疑问吗?
你是什么“的.NET转换”是什么意思?你如何将你的db值转换成.net类型?如果你手动转换,你不能使用:Convert.ToBoolean(reader [“columnName”])这应该将BIT值转换为布尔值没有问题。 – coalvilledave 2011-05-13 07:54:13
如果您正在使用DataReader并执行上述转换,那么它工作正常。 但如果你起诉DataTable并尝试做转换,那么它不起作用。 – 2011-05-13 09:56:38