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
-
Просветите по DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Прошу людей многоопытных и не голословных высказаться относительно фичи MySQL `datetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Думаю сейчас над структурой одной БД. Данная фича, как я вижу, позволяет автоматом сохранять момент, когда запись была создана/обновлена. Имхо, удобно, дёшево и сердито. Есть желание прилепить такое поле чуть ли не в каждую таблицу. Внимание вопрос: Кто может аргументировать, стоит ли её использовать массово на таблицах, не скажется ли это на скорости записи чтения, обновления? Ничего толково почитать в поисковике не попалось. Честно признаюсь, лень писать огромные синтетические тесты. Бахнул цикл на 1000…
0 votes2 answers -
Как лучше организовать каскадное удаление
Здравствуйте. Может кто подскажет как лучше удалить данные из одной таблицы (в ней более 5 милионов записей) и проверить есть ли ссылки в другой таблице на id первой, если есть то их тоже необходимо удалить (база MySql) CREATE TABLE `table_detali` `id_detal` PRIMARY KEY `name_detal` - в этой таблице очень много записей и удалять надо за один раз от 200000 до 600000 записей, но есть другая таблица которая ссылается на неё CREATE TABLE `order_temp` `id_order` PRIMARY KEY `detal_id` FK Возможно ли удаляя записи с первой проверять вторую таблицу и так же удалять встретившиеся `detal_id`?
0 votes3 answers -
Не создаёт БД на openserver
зашёл в PhpMyAdmin с данными root и root, потом открыл консоль и почему не создаёт БД? http://i91.fastpic.ru/big/2017/0111/09/df14ece0b17a1fdf337cce8f262c8c09.jpg А как войти в MySQL менеджер, что нужно вводить? http://i91.fastpic.ru/big/2017/0111/d3/75daf04ccd31afaa93fe6e0d840a1ad3.jpg
0 votes2 answers -
load data
Читаю здесь http://phpclub.ru/mysql/doc/load-data.html про LOAD DATA. Пишу так: load data infile '1.txt' into table cat; Выдает такую ошибку на фото: Что может быть? Содержимое файла 1.txt Андрей Пупкин 85 Таблица такая: | cat | CREATE TABLE `cat` ( `number` int(11) NOT NULL AUTO_INCREMENT, `name1` varchar(20) DEFAULT NULL, `surname` char(12) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`number`), UNIQUE KEY `name1` (`name1`,`surname`,`age`) ) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 |
0 votes8 answers -
SELECT и REGEXP
Доброго времени суток, возникла маленькая проблемка, может кто нибудь поможет. Есть записи с полем в котором хаотично расположены числа через запятую например '1,52,2,8,10' короче говоря количество может быть какое угодно и порядок хаотичный и вот по этому полю идет выборка. Нужно вывести те записи в которых есть данное число например 2. Записей может быть много в таблице. Спасибо.
0 votes3 answers -
Ошибка в таблице?
Что означает, когда в таблице к колонке после ввода данных появляется вопросик в черном ромбе? Тип колонки у меня TEXT, там есть как русские, так и английские буквы, плюс теги. Заметил, что в некоторых рядах проблема не возникает, однако закономерность не удается проследить. Что означает данное предупреждение?
0 votes2 answers -
Запрос между связанными таблицами
Имеются 3и основные таблицы 1. Модели принтеров 2. Модели картриджей 3. Названия принтеров И две связанные таблицы по ID 1. Модели-картриджи 2. Модели-названия принтеров Получить по модели принтера его картриджи или список принтеров не проблема, а вот как получить по имени принтера модели картриджа для него ? Нужно делать два запроса (получаем id модели и из него получаем модель картриджей) или можно как-то через один запрос?
0 votes1 answer -
Помогите составить выборку из трех таблиц
Здравствуйте. Имеем три таблицы: фрукты, страны (в которых они растут), и таблица их соотношения (так как один фрукт может принадлежать более чем одной стране). Пример: Задача: вывести список фруктов, и рядом с каждым фруктом список его стран. Думал как сделать, ничего не придумал кроме выборки сначала фруктов и вывода их в цикле, потом второй запрос для выбора стран внутри каждого цикла по id фрукта. Но это не есть гуд, как вы понимаете. Как новичок прошу совета (прикидывал и с временными таблицами, и с вложенными select, и с join'ами, но ничего не получилось). Спасибо.
0 votes7 answers -
Оптимизация бд в joomla
Прошу помочь асов =) Как можно в джумле отследить какие запросы и сколько времени выполняются при загрузке сайта, что бы добавить индекс куда нужно для убыстрения? Я пробовал отладочный режим но он не показывает время, поискал в инете наткнулся на статью где пишется какие сделать изменения нужно чтоб писал, я всё сделал, а всё равно не пишит, может какой плагин есть удобный или ещё способы?
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 -
Помогите с запросом
Пишу в этот форум, потому что почему-то у меня нет прав создавать топике в разделе СУБД Есть таблица users user_id | rating 1 | 80 2 | 50 3 | 30 4 | 10 И таблица update_rating user_id | dop_rating 1 | 15 2 | -30 3 | -10 4 | 60 Вопрос: как в одном запросе приплюсовать данные поля update_rating.dop_rating к полю users.rating у всех пользователей? Пока не нашел другого способа как создавать для каждого юхера свой sql-запрос, но ИМХО если пользователей будет много, то это будет жестоко..
0 votes5 answers -
Схема базы данных социальных сетей
Привет всем! На дипломный проект я пишу социальную сеть. Сейчас проектирую схему базы данных. Появился вопрос - есть ли какие-нибудь шаблоны подобных схем?
0 votes0 answers -
Непонятный косяк в запросе
Доброго времени суток. Есть база данных, в ней 3 таблички, из которых запрос одновременно тянет информацию. Запрос вот такой: SELECT `#__showcase_items`.`id`, `#__showcase_items`.`name`, `#__showcase_items`.`group`, `#__showcase_groups`.`group_name`, `#__showcase_images`.`image_name` FROM `#__showcase_items`, `#__showcase_groups`, `#__showcase_images` WHERE `#__showcase_groups`.`id`=`#__showcase_items`.`group` AND `#__showcase_images`.`item_id`=`#__showcase_items`.`id` AND `#__showcase_images`.`main`=1 ORDER BY rand() LIMIT 1 Пока база была маленькая, все было прекрасно. А вот сейчас какие-то…
0 votes3 answers -
Не создается таблица в БД
Самое интересное что данный код вводу как SQL запрос прямо в БД, все норм. А что не так в php? $mysqli = new mysqli ('localhost', 'root', '');$mysqli->select_db('mygame')$mysqli->query("CREATE TABLE ky59(id CHAR,name CHAR )"); Но пробовал и так : mysql_connect('localhost', 'root', '');mysql_select_db('mygame');mysql_query("CREATE TABLE ky599i (id CHAR,name CHAR)");
0 votes7 answers -
Как составить запрос
Предположим, есть таблицы `t1` и `t2` с одинаковым полем `field`. При помощи запроса SELECT `t1`.`id`, `t2`.`field` FROM `t1` LEFT JOIN `t2` ON `t1`.`field`=`t2`.`field` WHERE `t2`.`field` IS NULL мы получим айдишники записей таблицы `t1` для которых значение поля `field` не совпадает ни с одним значением поля `field` в таблице `t2`. Надеюсь, я понятно объяснил. Так вот вопрос в следующем - как написать запрос, который бы удалил эти записи из таблицы `t1`?
0 votes3 answers -
Соединение
При попытке соединения с базой выводится следуюющее: Код: $connect = mysql_connect($this -> db_hostname, $this -> db_username, $this -> db_password) or die("Could not connect: " . mysql_error()); print ("Connected successfully"); mysql_close($link); Что это значит и как это исправить.
0 votes3 answers -
0 votes3 answers
-
Row size too large
Привет всем. Объясните, пожалуйста, как исправить такую ошибку в mysql Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs Таблица просто не создается. В ней: 90 столбцов VARCHAR(255), 5 INT(11), 16 TINYINT(1-3), 2 TEXT и 3 DATETIME. Прочитал, что таблица InnoDB попросту не вмещает в себя такое количество столбцов (в основном из-за формата VARCHAR(255)) в кодировке UTF-8. Но это только начало, хотелось бы иметь возможность вмещать до 500 столбцов, а лучше немного с запасом. Как вариант большинство варчаров перевести в другой, менее объемный тип, но это, как я понимаю, не сильно ра…
0 votes2 answers -
Выбор значений при множественном фильтре
product_id filter_id 1 1 1 2 2 3 3 1 3 2 3 3 3 4 4 1 4 3 4 4 Здравствуйте,вопрос следующий. Не знаю,как правильно составить запрос. Есть множественное значение фильтра,например: filter_id=1,3,4. Это должно дать значения product_id=3,4. Соответственно,filter_id=1,2 дает product_id=1,3. То есть выбираются продукты,по которым есть все значения фильтра. Но это не все. Ф…
0 votes2 answers -
SQLite как СУБД для сайта
Возникло желание попытаться использовать в качестве базы для сайта/блога SQLite. Вроде бы на первый взгляд почти по всем параметрам подходит: данные хранить умеет, небольшую нагрузку, по отзывам, держит (явно даже сотню тысяч хитов держать не придется), все лежит в файле (бекапить должно быть удобно), чтение неблокирующее. А вот с записью вопрос. Запись блокирующая. То есть если обслуживается сайт, не предполагающий интерактива от пользователей (визитка, промо, прайс и т. п.) — все ОК, контент меняет администратор (1 шт.), одновременные попытки записи практически исключены. А вот если есть комментарии, или речь вообще о блоге или онлайн-игре (пусть и ненагруженной), то ве…
0 votes2 answers -
Переезд Firebird >> MySQL
Доброго времени ВСЕМ. выгрузил данные из FireBird в скрипт, получил: SET BLOBFILE 'C:\temp\111\BLOB_DATA.lob'; INSERT INTO BLOB_DATA (ID_BLOB, ID_DOC, DT_BLOB_UPD, ID_USER, SIZE_BLOB, TYPE_BLOB, DATA_BLOB, ID_BLOB_OUT) VALUES (75, 1000052, '2009-07-03 15:53:46', 1030, NULL, 4, :h00000000_00002F37, NULL); INSERT INTO BLOB_DATA (ID_BLOB, ID_DOC, DT_BLOB_UPD, ID_USER, SIZE_BLOB, TYPE_BLOB, DATA_BLOB, ID_BLOB_OUT) VALUES (77, 1000009, '2009-05-22 17:05:59', 1030, NULL, 4, :h00002F37_00001E13, NULL); INSERT INTO BLO ................ Открыл в EMSsql Menedger этот текст , вижу: Unknown system variable 'BLOBFILE' Скаж плиз, как это делается в MySQL ? Пробовал читать, дочитался до…
0 votes1 answer -
не импортируется б/д
Ребятки,очень нужно поднять сайт локально,но при импорте мне выдает такую ошибку: #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 -
Долбаная кодировка
Уже никаких мозгов не хватает. Спрошу тут, может кто подскаже чего. Так уж исторически сложилось, что всё на cp1251 должно быть. Но всё как-то не то и не так. Простейший скрипт: mysql_query("INSERT INTO `table` (`field`) VALUE ('Тест')"); echo("INSERT INTO `table` (`field`) VALUE ('Тест')<br>"); $q=mysql_query("SELECT * FROM `table`"); $r=mysql_fetch_array($q); echo $r['field']; Выдаёт Кодировка скрипта 1251 (даже специально хэдер вывел для пущей уверенности), таблица cp1251_general_ci, в /etc/mysql/my.cnf указано init_connect='SET NAMES cp1251' collation_server=cp1251_general_ci character_set_server=cp1251, но mysql_client_encoding() всё равно упорно возвращает l…
0 votes2 answers -
Поле UNIQUE но null может повторяться
Можно ли сделать такое поля, что бы UNIQUE но null повторяться могло? ну например вот это прокатит: а это нет:
0 votes2 answers -
Синхронизация двух упячных программистов.
Добрый день товарищи разработчики. Возникла проблема, проблема смешная Дело в том что имеется две крупные базы данных. При том, что я работал с одной, а второй программист с другой. Возможно ли их как то синхронизировать? В общем упячка победила, помогите пожалуйста.
0 votes2 answers