【发布时间】:2022-01-18 00:28:58
【问题描述】:
CREATE VIEW as SELECT ... FROM mytable
这将创建一个带有 int unsiged 列的视图。
但在我看来,我想要的是 boolean 或 tinyint 列数据类型。
这可能吗,因为CAST() 和CONVERT() 似乎都不支持转换为boolean 类型。
如果我创建一个普通表,则以下结果为tinyint(1):
CREATE TABLE test (
Id int(10) unsigned NOT NULL auto_increment,
myflag boolean default false,
PRIMARY KEY (Id)
);
我不能在视图中实现相同的功能,意味着将列类型显式设置为tinyint(1)?
【问题讨论】:
-
MySQL 并没有真正的布尔类型。
-
当然 1 = true 和 0 = false,但我更想研究如何在视图中强制执行列的 数据类型,而不是逻辑。跨度>
-
不能转换为 tinyint,afaicr
-
请包括确切的视图定义和产生您要解决的问题的插入/更新。