MariaDB не показывает данные при выборе * в Mac-терминале - PullRequest
0 голосов
/ 20 октября 2019

Когда я пытаюсь выбрать *, я получаю это от MariaDB:

enter image description here

Но, когда я выбираю столбец продуктов питания по отдельности, я вижу вседанные:

enter image description here

Что здесь происходит?

edit: Вот еще несколько экранов:

enter image description here

enter image description here Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

Вы должны иметь возможность использовать функцию 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 но он заменяет только определенную строку и не будет работать с непробельными символами пробела.

Как заявил Рик Джеймс, важно санировать и очистить вводпрежде чем положить его в базу данных.

0 голосов
/ 21 октября 2019

Данные поступили из не-Mac источника? И у него есть другой тип ограничителя строки?

Обрезать конечный пробел (Carriage Return / NewLine) перед хранением данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...