Почему / как я могу превысить настроенную длину varchar в MySQL? [моя ошибка, я не могу] - PullRequest
0 голосов
/ 03 июля 2019

[Редактировать: моя ошибка, прочитайте неправильный столбец для типа, который я вставляю, это LONGTEXT, а не varchar (190)] Я работаю с приложением, которое хранит большую часть своей информации в базе данных MySQL (сервер MySQL 5.7). Одно конкретное значение, на которое я смотрю, имеет ограничение в 255 символов, навязанное графическим интерфейсом, но, когда я посмотрел на этот столбец в таблице, где он хранится, для него установлено значение varchar (190). Я подтвердил, что могу вводить 255-символьные значения в GUI и что они не усекаются, как я ожидал.

Как может столбец varchar (190) хранить> 190 символов? Есть ли какие-либо последствия для этого?

Я прочитал 11.4.1 Типы CHAR и VARCHAR , и в нем говорится, что все, что превышает ограничение, должно быть усечено.

1 Ответ

0 голосов
/ 03 июля 2019

Ответ в том, что я не могу.Неправильно прочитаны типы столбцов, потому что этот столбец varchar (255), когда приложение строит схему в PostgreSQL.Это длинный текст * в MySQL, который объясняет, почему я смог обойти 190 символов.Я попытался вставить свою тестовую строку с 230 символами в столбец varchar (190), и она выдает ошибку, как и ожидалось.

Нужно больше кофе.

* не уверен, почему longtext, когда графический интерфейс приложенияограничивает ввод 255 символами, но мне нужно будет спросить людей, которые его создали.

...