Mysql Table - 创建比较其他列值的列?

Mysql Table - CREATE COLUMN that compares values of other columns?

无法在网络或 Mysql 文档中找到任何内容。我有一个 table 并希望最后一列显示一个 true/false 语句:

if (value_x === value_y)

这可能吗?

id | value_x | value_y | check_xy
---------------------------------
01 |       10|       10|     true
02 |       11|       44|    false

谢谢

使用 generated column.

这是一个演示:

mysql> create table mytable (id int primary key, value_x int, value_y int);

mysql> insert into mytable values (1, 10, 10), (2, 11, 44);

mysql> alter table mytable add column check_xy bool as (value_x = value_y);

mysql> select * from mytable;
+----+---------+---------+----------+
| id | value_x | value_y | check_xy |
+----+---------+---------+----------+
|  1 |      10 |      10 |        1 |
|  2 |      11 |      44 |        0 |
+----+---------+---------+----------+

阅读 https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html 了解更多信息。

请注意,这是 MySQL 5.7 中引入的功能。如果您使用旧版本 MySQL,则必须先升级。