【问题标题】:MariaDB not showing data when select * in mac terminal在mac终端中选择*时MariaDB不显示数据
【发布时间】:2020-02-16 19:49:53
【问题描述】:

当我尝试选择 * 我从 MariaDB 得到这个:

但是,当我单独选择食物列时,我会看到所有数据:

这里发生了什么?

编辑:这里还有一些屏幕:

谢谢。

【问题讨论】:

  • notes 列可能有大量尾随空格或其他一些意外数据,导致格式出错。尝试检查每一列的内容,直到出现格式错误。
  • @markusjm 感谢您的回复,我添加了更多屏幕。我认为问题出在注释栏中,但我不确定为什么。我将该列的数据类型更改为文本,但仍然是同样的问题。

标签: xampp mariadb


【解决方案1】:

您应该能够使用REGEXP_REPLACE 函数来显示没有尾随和前导空格的值:

SELECT REGEXP_REPLACE(REGEXP_REPLACE(notes, '^\\s*', ''), '\\s*$', '')
  FROM food1_test;

内部'^\\s*' 模式匹配所有前导空格,外部'\\s*$' 模式匹配所有尾随空格。

您还可以使用以下 SQL 对数据进行就地更新:

UPDATE food1_test SET
    notes = REGEXP_REPLACE(REGEXP_REPLACE(notes, '^\\s*', ''), '\\s*$', '');

您也可以使用TRIM,但它只替换特定的字符串,并且不适用于非空格空白字符。

正如 Rick James 所说,在将输入放入数据库之前对其进行清理和清理非常重要。

【讨论】:

    【解决方案2】:

    数据来自非 Mac 来源?而且它有不同类型的行终止符?

    在存储数据之前删除尾随空格(回车/换行)

    【讨论】:

      猜你喜欢
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 2020-09-26
      • 2016-02-16
      相关资源
      最近更新 更多