SQL Varchar длина.

D3
На сайте с 03.02.2013
Offline
77
960

Пытаюсь в SQL создать строку длиной в 2000 символов. Выводит ошибку:

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs.

Что делать? Что не так?

S
На сайте с 23.05.2004
Offline
315
#1

Длинна всех полей в строке не должна превышать 2000 символов.

Т.е


f_name = varchar(64)
l_name = varchar(64)
email = = varchar(128)

даст в сумме уже 256 символов на строку. Но при этом поля с типами text, blob - в этой сумме строк учитываться не будут.

Это просто подпись.
S
На сайте с 30.09.2016
Offline
469
#2
diman3210:
Пытаюсь в SQL создать строку длиной в 2000 символов.

В SQL строки как бы не создают, а записывают. То есть из вопроса непонятно, что Вы пытаетесь сделать: записать в существующую БД строку или создать в БД новый столбец данных типа varchar?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
tommy-gung
На сайте с 22.11.2006
Offline
300
#3

написано же, менять тип столбца

Здесь не могла быть ваша реклама
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#4
diman3210:
Что делать?
diman3210:
You have to change some columns to TEXT or BLOBs.
diman3210:
Что не так?
diman3210:
Row size too large

10 символов

http://webpromote.ru (http://webpromote.ru) - пописываю иногда ...
S
На сайте с 30.09.2016
Offline
469
#5

На самом деле, если ТС пытается записать в БД нечто из скрипта, то совсем не очевидно, что это нечто именно той длины, что он предполагает.

D3
На сайте с 03.02.2013
Offline
77
#6
Sitealert:
В SQL строки как бы не создают, а записывают. То есть из вопроса непонятно, что Вы пытаетесь сделать: записать в существующую БД строку или создать в БД новый столбец данных типа varchar?

Создать в БД новый столбец типа Varchar.

---------- Добавлено 15.12.2016 в 15:46 ----------

Т.е. я так понимаю длина всех столбцов разом не должна превышать 65535. Столбцы типа TEXT и BLOB в эту сумму не входят.

tommy-gung
На сайте с 22.11.2006
Offline
300
#7

хз какая у ТС sql.. mysql - http://phpclub.ru/mysql/doc/column-types.html

S
На сайте с 30.09.2016
Offline
469
#8

tommy-gung, это ссылка на старые версии MySQL. В MySQL 5 varchar длиннее.

tommy-gung
На сайте с 22.11.2006
Offline
300
#9

Sitealert, да, теперь больше. http://dev.mysql.com/doc/refman/5.7/en/char.html

в таком случае нужно смотреть на структуру таблицы

S
На сайте с 30.09.2016
Offline
469
#10
diman3210:
Т.е. я так понимаю длина всех столбцов разом не должна превышать 65535

Как-то так:

Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535. The effective maximum length of a VARCHAR is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий