Russian Qt Forum

Qt => Базы данных => Тема начата: jatsuk от Март 28, 2011, 08:00



Название: База с неограниченным количеством символов в строке
Отправлено: jatsuk от Март 28, 2011, 08:00
Есть база данных 1234.db
create table sim(n_bol varchar(30) primary key,o_bol varchar(100),kl_bol varchar(60));
Надо чтобы количество символов в o_bol varchar(100) не было ограничено. Я так думаю просто 9999999 поставить - это плохо  ;)
Как это реализовать ?



Название: Re: База с неограниченным количеством символов в строке
Отправлено: alexman от Март 28, 2011, 08:30
text


Название: Re: База с неограниченным количеством символов в строке
Отправлено: lit-uriy от Март 28, 2011, 11:01
а вроде нет таких БД, в которых строковый тип имел бы не ограниченную длину. Когда много хранить нужно используют BLOB. Но по нему не поищешь, хотя некоторые БД поддерживают текстовую разновидность BLOB и располагают функциями для работы с ними.


Название: Re: База с неограниченным количеством символов в строке
Отправлено: jatsuk от Март 28, 2011, 13:11
create table sim(n_bol varchar(30) primary key,o_bol text);

И всё работает. Спасибо alexman


Название: Re: База с неограниченным количеством символов в строке
Отправлено: alexman от Март 28, 2011, 13:19
Что за СУБД? Проверь что там за ограничение на размер text, а то могут быть проблемы как говорил lit-uriy.


Название: Re: База с неограниченным количеством символов в строке
Отправлено: jatsuk от Март 28, 2011, 13:39
Просто пишу через консоль

sqlite3 1234.db
.read Crscript.txt (имя файла с таблицами)

содержание Crscript.txt
create table sim(n_bol varchar(30) primary key,o_bol text,kl_bol varchar(60));

Прогуглил, вроде этот тип поддерживает до 65 536 символов. Думаю этого достаточно для описания даже самой сложной болезни...

VARCHAR    Может хранить не более 255 символов.
TINYTEXT    Может хранить не более 255 символов.
TEXT    Может хранить не более 65 535 символов.
MEDIUMTEXT    Может хранить не более 16 777 215 символов.
LONGTEXT    Может хранить не более 4 294 967 295 символов.