Russian Qt Forum
Ноябрь 24, 2024, 00:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Какое поле использовать для хранения QVariant в mysql?  (Прочитано 4464 раз)
DpoHro
Гость
« : Май 25, 2009, 12:51 »

У меня есть колонка где будут храниться данные небольшого объема но их тип может быть строкой, целым числом, числом с плавающей точкой, датой и пр. какого типа обозвать поле для хранения таких данных посоветуете?
« Последнее редактирование: Май 25, 2009, 22:36 от DpoHro » Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #1 : Май 26, 2009, 06:30 »

Можно хранить в 2-х колонках - первая колонка собственно тип (целого типа и будет соответствовать подтипам кутешного варианта, чтобы проще было потом читать)

Вторая колонка данные - строка (для FB я бы взял varchar) с запасом по длине символов соответственно самой длинной строке или числу с максимум знаком которое будет храниться или сколько не жалко...

Писать через toString
Читать в зависимости от типа через соответвующие методы

можно слить в 1 колонку и использовать специфический разделитель - но это изврат уже...
Записан
Rcus
Гость
« Ответ #2 : Май 26, 2009, 07:18 »

Можно хранить и в одном поле, QVariant умеет записываться в QDataStream, только при хранении собственных типов необходимо переопределить и зарегистрировать операторы сохранения в поток (ну и чтения). Проблема только в неиндексируемости данного представления
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Май 26, 2009, 08:20 »

>>Проблема только в неиндексируемости данного представления
тогда может проще BLOB?
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #4 : Май 26, 2009, 08:24 »

я недавно тоже думал над проблемкой нужно было хранить int и string
сначала 2 поля завел - но SQL запросы стали не преподьемные для меня

потом завел поле типа text -  и не парюсь )
Записан
DpoHro
Гость
« Ответ #5 : Май 26, 2009, 20:16 »

я недавно тоже думал над проблемкой нужно было хранить int и string
сначала 2 поля завел - но SQL запросы стали не преподьемные для меня

потом завел поле типа text -  и не парюсь )

Хм... пожалуй так и надо сделать, но наверное использую tinytext, у меня больших значений не будет.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Май 27, 2009, 11:01 »

Вот если бинарные данные захотите хранить - то тут придеться скобки квотить. А так пожалуйста.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.