【问题标题】:How to automatically convert a MySQL column to lowercase如何自动将 MySQL 列转换为小写
【发布时间】:2011-04-01 20:46:44
【问题描述】:

是否有一个属性可以添加到列中,以便将其值转换为小写?而不是通过 PHP 为每个值都做这件事?

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您可以通过在插入或更新时触发的trigger 来实现。我自己,我宁愿只创建一个view,它具有相关列的小写版本。视图的 SQL 可能如下所示

    SELECT ID, LOWER(MY_COLUMN) AS MY_COLUMN_LOWERCASE
    FROM MY_TABLE;
    

    【讨论】:

    • @daniel.tosaba:我为触发器和视图添加了链接。
    • 很好,但是你如何告诉mysql将选定的列转换为小写?
    • @daniel.tosaba:见这里:dev.mysql.com/doc/refman/5.0/en/…
    • 在这里可能会遇到的一件事是您需要更改代码(我相信是 PHP)才能使用视图,而不是再查询表。另一种选择可能是在 PHP 的选择查询中使用 lower() 函数。
    【解决方案2】:

    是的,但不要这样做。

    如果您只想在列中使用小写字符,请在插入(或更新)它们时对其进行转换。

    如果您需要一个列在比较中不区分大小写,请使用不区分大小写的排序规则(默认情况下在例如 utf8 列中使用)

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 2014-03-06
      • 2018-04-21
      • 2021-10-13
      • 2023-04-07
      • 1970-01-01
      • 2015-09-03
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多