是否可以创建在其他列上运行条件的生成的 MySQL 列?
例如:列“a” - 类型布尔列“b” - 类型日期生成列“c”,实现逻辑:
if (a == false) || (a == true && b < NOW()) {
return true;
} else {
return false;
}
是否可以创建在其他列上运行条件的生成的 MySQL 列?
例如:列“a” - 类型布尔列“b” - 类型日期生成列“c”,实现逻辑:
if (a == false) || (a == true && b < NOW()) {
return true;
} else {
return false;
}
您可以使用 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 中的语句。
如果您正在编写一个过程,您可以将查询的输出保存到一个变量中并进行检查。如果您不执行程序,则可以在语句内部进行验证,这应该可以。
祝你好运!
您可以为数据库编写脚本。我已经在 Ruby 中完成了它,但我相信还有很多其他的。您将编写一个脚本来创建没有条件列的表,然后您将编写逻辑以根据您的条件添加一个具有值的新列。