2009-03-02 3 views
0

Я пытаюсь сделать INSERT в mysql db, и он терпит неудачу, когда любое из значений длиннее 898 символов. Есть ли где-нибудь, чтобы получить или, лучше, установить это максимальное значение? Я буду взломать строку в куски и сохранить их в отдельных строках, если нужно, но я хотел бы иметь возможность вставлять до 2k за раз.Максимальная переменная длина PHP и MYSQL?

Я предполагаю, что это проблема php, поскольку использование полей LONGTEXT или BLOB должно быть более чем достаточно места в db.

Спасибо.

+0

Получаете ошибку из базы данных или PHP? –

+0

Вы можете сделать echo (mysql_error()); в строке после запроса, чтобы увидеть ошибку. –

+0

Когда вы говорите «не удается», что происходит? Усекает ли это поле или не вставляется, и если он не прошел, что является соответствующим сообщением об ошибке? – thomasrutter

ответ

0

Я предполагаю, что это колонка varchar, которую вы пытаетесь вставить? Если это так, я предполагаю, что максимальная длина установлена ​​в 898 или 900 или что-то в этом роде.

В MySQL 5 общий размер строки может составлять до 65 536 байт, поэтому varchar может быть определен любым размером, который поддерживает общий размер строки под этим.

Если вам нужен более крупный текст (65 536) или длинный текст (4 миллиарда?).

+0

В моем вопросе я сказал, что использую поля LONGTEXT и BLOB. – Maximillian

1

Side Примечание:

Когда вы получаете в работе с большими сгустками и текстовыми колонками, вы должны следить за переменную MySQL max_allowed_packet. Я считаю, что он по умолчанию не менее 1 М.

Смежные вопросы