Database
Solving problems and issues related to various DBMS
Explore Questions
There are no popular questions to show right now
-
0 votes2 answers
-
0 votes0 answers
-
0 votes1 answer
-
0 votes1 answer
-
0 votes1 answer
319 questions in this forum
-
Разбитие и суммирование строки или регуляркой
Может кто подсказать? В БД в поле хранятся значения в виде "20/30/60" при этом нужно сравнить с параметром, указанным в $_GET запросе Т.е. нужно чтобы например 120>= 20+30+60 Можно ли через REGEXP это сделать(суммирование параметров)? Или же разбить на три ячейки и сравнивать с нужным значением Т.е. при использовании SELECT, сделать выборку с нужной подменой
0 votes11 answers -
Проблема с кодировкой (? - русские буквы)
В PHP установил следующее mysqli->set_charset("utf8")при проверке mysqli->character_set_name() //показывает utf8Также поставил в корневой файл header( 'Content-Type: text/html; charset=utf-8' );В Notepad++ установил у всех файлов кодировку UTF8 БЕЗ BOM и все равно при записи в БД русских символов, вместо них выдает - ???? Что не так?
0 votes13 answers -
Создание индексов MySql
Здравствуйте. Никак не могу врубиться - как , вернее где создавать эти индексы? В самой БД (например через PHPadmin)? Или через скрипты php? И на какое время создаются, создать перед запросом -> выполнил запрос -> удалил индекс, или создал и забыл про него?
0 votes3 answers -
Непонятна работа LIMIT в SQL
Здравствуйте. Некорректно работает запрос с LIMIT public function pages($categ = FALSE, $start = 1) { $start = $start*20-20; if($categ) { $where = array('cat_id' => $categ); $order_by = 'uy4ib_pages.id DESC'; } else { $where = array(); $order_by = 'uy4ib_pages.cat_id ASC'; } $this->db->select('uy4ib_pages.id, name, date, categories.title') ->from('uy4ib_pages') ->join('uy4ib_categories', 'uy4ib_categories.id = uy4ib_pages.cat_id', 'left') ->where($where) ->order_by($order_by) ->limit(20, $start); // …
0 votes6 answers -
Как перезаписать таблицу?
Добрый день. Использую MySQL, подскажите пожалуйста, как составить запрос, таким образом: я создаю таблицу, и если таблица с таким именем уже есть в БД, старая таблица удаляется и сохраняется новая (старая не обновляется).
0 votes1 answer -
Составление запроса
решение найдено)
0 votes0 answers -
Как можно ускорить sql запрос
Здравствуйте, есть бд состоящая из 3-х таблиц товары | связь товаров-параметров | параметры Для вывода товаров по 4 параметрам есть запрос sql который выполняется в течении 3,5 сек SELECT off.id as id, off.dopublic as dopublic, off.automatic as automatic, off.url as url, off.name as name, off.offer_type_id as offer_type_id, off.original_id as original_id, off.meta_title as meta_title, off.meta_keywords as meta_keywords, off.meta_description as meta_description , MAX(IF(mop.param_id = 1, mpv.value_str, NULL)) AS idref , MAX(IF(mop.param_id = 16, mpv.value_file, NULL)) AS part_info_serial …
0 votes2 answers -
ошибка при выполнение sql запроса
Начал изучать sql, захотел создать таблицу с 3 полями CREATE TABLE joke ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, joketext TEXT, jokedate DATE NOT NULL ) DEFAULT CHARACTER SET utf8 ENGINE=MyISAM в итоге ошибка #1046 - No database selected изучаю sql и php по книги PHP и MySQL. От новичка к профессионалу в чем проблема?
0 votes2 answers -
best practice по нагрузке
привет. Есть вопрос, который интересует, но пока нет опыта, чтобы однозначно на такой вопрос ответить. связка php+mysql(pdo) Задача - начисто проапдеитить 1000 или больше строк в какой-то таблице за раз. "начисто" - значит, что предыдущие данные нас не интересуют. Строка имеет свой уникальный ключ. Способы решения. 1 Цикл. В каждой итерации делать запрос на update. for ($i = 0; $i < count($arr); $i++) { $value = $arr[$i]['value']; $id = $arr[$i]['id']; $sth = $this->_db->prepare("UPDATE table SET value=$value WHERE id=$id;"); $sth->execute(); $sth->fetch();}2 Заводим строчную переменную. Цикл. В каждой итерации до…
0 votes2 answers -
can't connect to local mysql server
VPS у меня раз в 2-3 дня выдает вот такую хрень can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) И лечится перезагрузкой машины. Кто нибудь знает в чем может быть дело?
0 votes17 answers -
Выбор случайной записи в группе
Здравствуйте! У меня есть компании которые размещают свои товары, у товаров есть один из параметров цвет. Мне надо выбрать один случайный товар у каждой из 9 первых компаний, цвет которого соответствует запросу. Вот мой пример запроса в котором я получаю компании и их товары с соответствующим цветом, но как теперь случайным образом выбрать один товар у каждого из 9-ти не знаю, помогите пожалуйста. Записей будет очень много более 3-4 миллионов SELECT products.`uniq_id` , products.id_product, products.article_product, page_up.date_page_upFROM images_products AS products, products_color AS color, data_page_up AS page_upWHERE products.uniq_id = page_up.uniq_idAND products.id_…
0 votes5 answers -
не импортируется б/д
Ребятки,очень нужно поднять сайт локально,но при импорте мне выдает такую ошибку: #1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. Что это может быть,и как с ней бороться?
0 votes11 answers -
Как правильнее организовать БД
Доброе время суток, нужна помощь/совет есть сайт, связанный со спортом, единоборства есть три основных раздела со статьями(статьи примерно одного формата(название, изображение, текст, время добавления, автор)): новости, аналитика, полезные статьи полезные статьи содержат три подкатегории: питание, физическая подготовка, спортивная медицина Вопрос, как лучше спроектировать БД сделать одну таблицу `category` с полями : `id`, `name`, `title`, `parent_id` , где у "новости", "аналитика" в поле `parent_i` будет стоять значение "0", а у подкатегорий это поле будет "3", а вторую таблицу непосредственно "articles"? Либо сделать отдельные таблицы для трех видов статей? Но тогда ка…
0 votes2 answers -
Сортировка не работает
У меня есть табличка задание было "Получите только целые части (без дробной части) сумм(amt)" Я использовал функцию SUBSTRING_INDEX, запрос выглядит так SELECT SUBSTRING_INDEX(`amt`, '.', 1) AS 'amt' FROM `orders`;то есть возьми поле `amt` найди там первое вхождение подстроки '.' и отсей все, что идет за ним. результат меня устривает, задачу я выполнил. Но, я решил пойти дальше, и захотел сортировать результат по полю amt SELECT SUBSTRING_INDEX(`amt`, '.', 1) AS 'amt' FROM `orders` ORDER BY amt;SELECT SUBSTRING_INDEX(`amt`, '.', 1) AS 'amt' FROM `orders` ORDER BY `amt`;SELECT SUBSTRING_INDEX(`amt`, '.', 1) AS 'amt' FROM `orders` ORDER BY 'amt';ни один из результато…
0 votes6 answers -
Тестовый готовый back-end для front-end разработчика
Добрый день. Развиваюсь во front-end направлении, но все чаще для изучения нового, или создания действительно функционирующего приложения требуется функционирующее back-end хранилище данных . Вот например, сделал я игры змейка/морской бой и нужно хранить "рекорды игры". Или хочу потренировалься в использовании Ангуляга есть идея по созданию вариации функционирующего TODO-list-a, и нужно где-то хранить данные. Желания, по крайней мере сейчас, влезать на месяц-два в дебри PHP, нет никакого. Как выйти из этой ситуации, может есть какие-то back-end-сервисы для таких целей, или готовые наборы серверных скриптов? Заранее спасибо за ответы.
0 votes4 answers -
Как перебрать весь массив
Есть БД с 17 полями id - p - posi - name - alt_name - icon - и.тд 1 - 0 — 1 —- AAA —-- aaa ——- 0 2 - 0 — 1 —- BBB —-- bbb ——- 0 3 - 0 — 1 —- CCC —-- ccc ——- 0 из них надо выбрать только "name" и "alt_name". Вот сам код: <?php// подключился к БД$res = $db->super_query( "SELECT * FROM " . PREFIX . "_category" );foreach($res as $row){ echo $row['name']; echo $row['alt_name'];}?>Этот код выводит 0011AAaa00. Пробовал несколько вариантов в while - чёт ничего не получается. Необходимо получить что-то вроде: AAA aaa BBB bbb CCC ccc
0 votes3 answers -
связь товаров с заказми
Подскажите как правильнее делать при создании интенет магазина. Жесткая связь товаров с заказами, соответственно невозможность удалить товар из базы, если он заказан, что в свою очередь будет забивать базу старыми товарами, которых уже нет в наличии. Или товар "жестко" записывать в заказ и не делать связи с таблицей товаров? Какова обычная практика?
0 votes7 answers -
вопрос по слипам в mysql
Перенес сайт на вордпрес. все вообще кульно и быстро, по сравнению с UMI, но - возникает проблема - с чем это может быть связано? top показывает что подается команда sleep и все виснет, я такое уже встречал при больших объемах апдейтов таблиц.... но пока не догоняю что с этим счастьем делать? также замечал - что слипы идут очередью большой И апач зависает до перезапуска.... Подскажите плиз возможные варианты в чем причина. работает на дебиане. ускоритель стоит мемкэш, может убрать его и вернуть APC?? http://joxi.ru/52a1E6gijRg720
0 votes5 answers -
огранизация древовидных комментариев
помогите пожалуйста разобраться в вопросе на одном из фреймворков задумал решить классическую задачу построения системы древовидных комментариев. она всегда решается(в простейшем случае) через стандартную схему построения таблички, которая имеет столбец 'parent_id', этот столбец содержит id родителя в видел числа(integer): "id": integer, primary key "parent_id", integer "message", varchar но недавно на довольно популяром ресурсе нашёл решение, которое предполагает использование следующей схемы: "id": integer, primary key "parent_id", varchar "message", varchar соответственно заполненная БД выглядит приблизительно следующим образом: вопрос к профессион…
0 votes3 answers -
select несколько пар условий из одной таблицы
Добрый день! Есть таблица id_product int id_propertie int select_value int Мне нужно сделать select в котором может быть несколько пар, я имею ввиду id_propertie = 100 and select_value = 2 и id_propertie = 200 and select_value = 1 и id_propertie = 300 and select_value = 8 я дел так (id_propertie = 100 and select_value = 2) and (id_propertie = 200 and select_value = 1) and (id_propertie = 300 and select_value = 8) ))не работает смысл в том, что из таблицы надо достать все id_product, в которых есть все условия по парно. Спасибо большое за помощь!
0 votes17 answers -
Помогите создать select один к многим
Здравствуйте! Помогите создать правильно SELECT. Есть две таблицы: tbl_company id_company int name_company varchar title_company varchar about_company text tbl_products id_company int id_product int name_product varchar url_product varchar Задача сделать запрос, который принесет все данные о компании и три товара этой компании. Не хочется делать запрос по компании, а потом бежать и делать компания х 3 селекта, слишком много запросов. Спасибо!
0 votes4 answers -
Помогите найти ошибку
$result = mysql_query("SELECT DISTINCT * FROM `q95w65e14` GROUP BY `type_menu`"); while ($bd = mysql_fetch_assoc($result)) { echo '<div class="left_menu_a">'.$bd[type_menu].'</div>'; $result2 = mysql_query("SELECT * FROM `q95w65e14` WHERE `type_menu`=$bd[type_menu]"); while ($bd2 = mysql_fetch_assoc($result2)) { echo '<div class="left_menu_b" id="'.$bd2[type_product].'"></div>'; } }
0 votes5 answers -
Помогите с запросом пожалуйста
Добрый день! Есть две таблицы, одна с данными компании где id номер компании, а вторая это картинки этой компании где для одной компании (id) может быть несколько записей. Мне надо получить из первой компании все данные, а из второй мне надо на каждую компанию получить три ее картинки (желательно случайные в пределе количества картинок этой компании). Подскажите как правильно решать данную задачу, не перегружая сервер. Спасибо Вам всем!
0 votes8 answers -
Сортировка контактов
В общем есть запрос списка контактов SELECT `id` FROM `users` WHERE `id` IN (SELECT `id_from` FROM `messages` WHERE `id_to` = ".$id." AND `del_to` = 0) OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = ".$id." AND `del_from` = 0)Нужно сделать вывод с сортировкой по последним сообщениям, пробовал такSELECT `id` FROM `users` WHERE `id` IN (SELECT `id_from` FROM `messages` WHERE `id_to` = ".$id." AND `del_to` = 0 ORDER BY `id` DESC) OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = ".$id." AND `del_from` = 0 ORDER BY `id` DESC)не помогает, кто сообразит в чем загвоздка?
0 votes2 answers -
Как увеличить значение LIMIT в MYSQLI ?
Привет. Мне необходимо реализовать подгрузку контента при событии. Для этого необходимо "переходить" по количеству подгружаемых материалов с помощью LIMIT 1, x, где x - должна быть динамической величиной; на моём этапе разработки на месте "X" стоит параметр, передающий число от клиента (javascript), но я хотел бы изменить это условие. Вопрос. Как можно создать инкремент, или увеличивающуюся переменную в выражении LIMIT ? Чтобы второе значение LIMIT постоянно изменялось (LIMIT 1,2; LIMIT 1, 4 и т.д.)
0 votes4 answers