【问题标题】:Mysql Table - CREATE COLUMN that compares values of other columns?Mysql Table - CREATE COLUMN 比较其他列的值?
【发布时间】:2021-05-09 06:48:24
【问题描述】:

在 web 或 Mysql 文档上找不到任何东西。我有一张表,希望最后一列显示真/假语句:

如果 (value_x === value_y)

这可能吗?

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

谢谢

【问题讨论】:

    标签: mysql boolean create-table sqldatatypes


    【解决方案1】:

    使用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,则必须先升级。

    【讨论】:

      猜你喜欢
      • 2019-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 2020-06-01
      • 2020-06-30
      • 1970-01-01
      相关资源
      最近更新 更多