1

是否可以创建在其他列上运行条件的生成的 MySQL 列?

例如:列“a” - 类型布尔列“b” - 类型日期生成列“c”,实现逻辑:

if (a == false) || (a == true && b < NOW()) {
    return true;
} else {
    return false;
}
4

2 回答 2

2

您可以使用 IF/ELSE ( https://dev.mysql.com/doc/refman/5.7/en/if.html ) 或 CASE/WHEN ( https://dev.mysql.com/doc/refman/5.7/ en/case.html ) MySQL 中的语句。

如果您正在编写一个过程,您可以将查询的输出保存到一个变量中并进行检查。如果您不执行程序,则可以在语句内部进行验证,这应该可以。

祝你好运!

于 2018-01-16T21:51:37.033 回答
0

您可以为数据库编写脚本。我已经在 Ruby 中完成了它,但我相信还有很多其他的。您将编写一个脚本来创建没有条件列的表,然后您将编写逻辑以根据您的条件添加一个具有值的新列。

于 2018-01-16T21:15:44.980 回答