База данных Mysql

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Re: База данных Mysql

Сообщение Vadim » 08.05.2010 20:33:53

whs писал(а):Есть мысль что нужно использовать LIKE я правильно мыслью?

Можно сделать, например, так:
Код: Выделить всё
SELECT Состав FROM Таблица WHERE INSTR(Состав, 'Медь')>0

А можно и так:
Код: Выделить всё
SELECT Состав FROM Таблица WHERE Состав LIKE '%Медь%'
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: База данных Mysql

Сообщение AbakAngelSoft » 10.05.2010 11:18:20

whs писал(а):есть некое поле называется оно Состав в этом поле перечислены через запятую компоненты Медь Цинк Олово

Если вам нужен нормальный поиск то никогда так не делайте!
Нужно вынести элементы состава в отдельную таблицу и связать с основной через промежуточную таблицу ("многие ко многим"). Тогда поиск строк идеющих в составе определенный элемент станет тривиальной задачей.
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: База данных Mysql

Сообщение whs » 11.05.2010 18:41:29

AbakAngelSoft писал(а):Если вам нужен нормальный поиск то никогда так не делайте!
Нужно вынести элементы состава в отдельную таблицу и связать с основной через промежуточную таблицу ("многие ко многим"). Тогда поиск строк идеющих в составе определенный элемент станет тривиальной задачей.


Чем грозит мне выше приведенный способ? чем он хуже и почему ваш вариант лучше? Что делать если у меня будет 80000 элементов?
Аватара пользователя
whs
новенький
 
Сообщения: 28
Зарегистрирован: 03.04.2010 18:07:44

Пред.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru