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
-
Последовательность ID
При заполнении таблицы в SQL поле ID проставляется автоматически. Если удалить какую нить запись, нумерация продолжается с следующего числа, а не заполняет удаленное поле. Какой запрос исправляет эту ситуацию?
0 votes6 answers -
Посоветуйте последовательные уроки PDO
Как сказал Veseloff : "расширение mysql безнадёжно устарело". Сначала я не обратил на это внимание, но зайдя в мануал понял, что оно реально устарело. Тут я решил изучить PDO в мануале, но там функции расположены не последовательно и разобраться новичку тяжело. И поэтому мне нужны уроки, где о функция все будет рассказано последовательно.
0 votes18 answers -
Похожие записи из базы - как?
Доброго времени суток! Ребята, такой вопрос. К примеру, я на странице товара "Стиральная машина HOTPOINT-ARISTON ARXF105" Каким образом вытянуть из базы похожие? Мутно представляю... через explode() бить по пробелам в массив, а потом в запросе через LIKE искать похожие? А если связка слов, как "Стиральная машина". Как тут быть? Спасибо.
0 votes4 answers -
Почему не создаётся БД?!
Подскажите пожалуйста почему не создаётся БД, вот код - <?php $linkID = mysql_connect('localhost', 'root', 'dbpass'); 'CREATE DATABASE "new_db"'; echo "aaa"; mysql_select_db('new_db'); $query = "CREATE TABLE new_table (id int not null auto_increment primary key, new_col VARCHAT(25))"; $result = mysql_query($query); ?>
0 votes16 answers -
Правила именования объектов базы данных
Задумался тут о том, как лучше называть таблицы и столбцы в БД. Наткнулся на хорошую (какой она мне показалась) статью Алексея Михайличенко Правила именования объектов базы данных. Я вот пересмотрел некоторые свои привычки и задумался об изменении своей нотации. Например в таких моментах: 1. обычно первичный ключ AI всегда называл просто id. Автор неплохо доказывает чем удобнее имя_сущности_id 2. отказ от множественной формы сущности в именования таблиц. Вообще на эту тему стал задумываться наплодив что-то вроде tbl_users, tbl_usergroups tbl_usergroups_controllers_accesses tbl_usergroups_files_accesses Понимаю, что темы связанные со стилем кодирования довольно холиварны, …
0 votes3 answers -
Предыдущий строки
Привет всем ———————-- id | name | prev_id ———————-- 1 | absc | 2 ———————-- 2 | dbcs | 3 ———————-- 3 | cols | 4 ———————-- 4 | noth | 0 prev_id - id предыдущий строки Можно ли select делать такой запрос который подключает как колонка предыдущий строки ?
0 votes2 answers -
При удалении, id прибавляет значение
Уж и не знаю, правильно ли выбрал раздел, суть в следующем: В таблице существуют некие поля (в том числе и id): id | title | text —————-- 1 | test | test Удаляем все записи. Потом опять делаем запись и что мы видим: id | title | text —————-- 2 | test | test Вопрос: а куда делась единица? Почему при перезаписи, id увеличивается, а не делает возврат?
0 votes21 answers -
Проблема в процедуре
Помогите вроде написано все правильно но при вызове процедуры Mysql apace выводит ошибку - Ошибка: 256 Пояснение: SQLSTATE[HY000]: General error: 1210 Incorrect arguments to EXECUTE _____________________________________________________________________ Код процедуры Входные параметры : IN inSearchString TEXT, IN inAllWords VARCHAR(3), IN inCloneDepartmentId TEXT, IN inCloneCategoryId TEXT, IN inShortProductDescriptionLength INT, IN inProductsPerPage INT, IN inStartItem INT ************************************** BEGIN IF inCloneDepartmentId = "0" AND inCloneCategoryId = "0" THEN PREPARE statement FROM "SELECT product_id, name, IF(LENGTH(description) <= ?, descri…
0 votes0 answers -
Проблема с INSERT
Господа, пожалуйста скажите почему не работает элементарная хрень: insert into Pupils(ClassID) values(2) где: ClassID : ссылка на ID таблицы классов, тип (естессно...) LongInt BDE ругается...говорит что мол "Key Violation"
0 votes4 answers -
Проблема с кодировкой
Такая проблема. На странице, где выводятся данные из базы, вместо русских букв отображаются вопросы. Кодировка страницы windows-1251. Кодировка базы cp1251_general_ci
0 votes5 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 -
Проблема с форматом поля
Доброго времени суток! возникла такая проблема: В поле таблице должно сохранятся некое шестизначное число которое вводит пользователь, проблема в том что если это число начинается с "0", то он не записывается пример вводим 005968 а получаем 5968 - а должно быть именно 005968 так как дальше идем сверка этого числа. пробовал менять формат поля (был VARCHAR), не помогло. Как заставить мускул записывать нули? не очень хочется писать проверку на отбрасывание нулей при сравнении =)
0 votes2 answers -
проблема, опять...
Столкнулся с такой проблемой: Произвожу запись текста в БД вида: Читаю, выполняется на страницы вот-так Проблему решить думаю легко, но вот такой вот. Подскажите скриптик... ADD.php <?php $text = strip_tags(stripslashes(substr($_POST['data']['2'],0,300))); if($_POST['add'] != '') { if($text != '') { //Подключаемся к БД. $db=@mysql_connect("localhost", "root", "pass") or die("Ошибка подключения"); @mysql_select_db("continent", $db) or die("Не могу выбрать БД"); @mysql_query("SET NAMES UTF-8"); $query = "INSERT INTO news VALUES (NULL, '".$text."')"; if(mysql_query($query)) { echo "Запись добавлена <br/><a href=\"main.php\">Назад</a>";} else {…
0 votes5 answers -
проблемы с php_interbase.dll
Установлен TopServer2.1 (Apache 2.0.59, PHP 5.1.6), Firebird 2.1. Когда пытаюсь подключиться к БД (ibase_pconnect) выдает ошибку - "Call to undefined function ibase_pconnect()". Скачал dll'ку php_interbase.dll. Скинул в папку \usr\local\PHP\PECL\, разкомментировал в php.ini строчку extension=php_interbase.dll. При перезагрузке сервера выдает ошибку: "Unable to load dynamic library '\usr\local\PHP\PECL\php_interbase.dll' - Не найден указанный модуль" Почитав форумы пришел к выводу, что скорее всего dll не подходит к данной версии php. Другого dll не нашел. Не подскажете решения проблемы, либо может, кто-то скинет нужный dll.
0 votes7 answers -
Проблемы с создание регистрации
вожу логин пороль жму заригистрироватся и пишит: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in файл/save_user.php on line 16 Ошибка! Вы не зарегистрированы. Вот код файла save_user.php <?php if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } if (empty($login) or empty($password)) { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password…
0 votes20 answers -
Проверка на существование записей
Есть таблица с записями. Есть массив с номерами автоинкременов данной таблицы. Как проверить с минимальной нагрузкой существуют ли такие записи. Потому как нужно обновить массив. Кто как думает?
0 votes4 answers -
ПРОВЕРКА СОЕДИНЕНИЯ С БАЗОЙ
Всем хи. Заинтересовался MySQL-командой SHOW. Работаю в: phpMyAdmin 2.6.1 MySQL 5.0.45 Выполняю в утилите phpMyAdmin 2.6.1 такой sql-запрос для служебной БД information_schema : SHOW TABLES LIKE 'CHARACTER_SETS'. Как я понимаю запрос должен вернуть имена таблиц похожих на CHARACTER_SETS. Но запрос выдает ошибку. Мож я что то не правильно пишу? Или в phpMyAdmin данный запрос и не должен работать?
0 votes1 answer -
Программирование под MySql(триггеры, хранимые процедуры/функции)
Всем привет. Есть следующая задача: - отследить изменение таблици(insert/update), причем нужно указать какие поля изменились; - в спец поле в таблице вставлять hash всей записи. Вот мое решение -- таблица для отслеживания изменений CREATE TABLE `change`( idChange INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `table` VARCHAR(50) NOT NULL, rowId INT(10) UNSIGNED NOT NULL, columnLst VARCHAR(255) NOT NULL, PRIMARY KEY (idChange) ); -- собственно объект наблюдений CREATE TABLE item( idItem INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, title VARCHAR(45) NOT NULL, count TINYINT(4) UNSIGNED NOT NULL, price DECIMAL(10, 2) NOT NULL, `hash` CHAR(32) DE…
0 votes6 answers -
Проектирование базы
Всем привет. Вопрос по планированию базы, чтобы был удобный доступ + стоит задача минифицировать нагрузку. Каждая запись в базе состоит из 7-ми чисел + id строки c авто-инкрементом. Каждое число может быть любым числом от 1 до 40 включительно. Но повторов в пределах одной записи не будет. В ходе использования базы нужно иметь возможность: - вытащить целую строку - к примеру, просчитать такую задачу: "Сколько раз за последние N строк была использована цифра A" - к примеру, просчитать такую задачу: "За последние N строк цифра A была использована чаще цифры B или реже" - и тд. Вопрос такой - в каком виде хранить данные этих чисел? В виде одной строки (A) с определенн…
0 votes7 answers -
Проектирование базы данных
Уж извините, что в разделе PHP хотя к PHP вопрос тоже отношение имеет. Так вот господа знатоки, начну с пред истории. Задумал я сделать сайтик о истории нашей музыки, с возможностью внесение информации о группах через форму в базу данных, спроектировал базу сверстал шаблончик, написал код на PHP, испытав свое великое свершение пришел к выводу, что база спроектирована не правильно. База состоит из 2х таблиц проблема только в одной 1я группа альбом год список песен ссылка на обложку в результате оказалось, что каждая запись может быть внесена несколько раз. Как гарантировать уникальность (не возможность повторения) каждой строки? Идентификатор с автоикрементом, который буд…
0 votes12 answers -
Проектирование БД mysql
Есть таблица на 200 000записей (ID, Наименование) Есть примерно около 500 магазинов число которых может расти. Нужно сделать так чтобы магазин мог отмечать что товар у него есть. Как возможно построить далее БД более рационально и правильно?
0 votes10 answers -
Проектирование для каталога
Всем привет. На сайте есть рубрики, у них есть подрубрики, у них есть товары, у товаров есть характеристики, у характеристики есть значения характеристик. Есть таблица пользователей, которые "управляют" этими товарами. Как лучше организовать структуру? И где могут возникнуть проблемы в дальнейшем? В моем представлении так. Таблицы: 1. Рубрика (id, name) 2. Подрубрика (id, name, fk_рубрика_id) 3. Товары (id, name, fk_подрубрика_id) 4. Характеристики (id, name, fk_товары_id) 5. Значения характеристик (id, name, fk_характеристики_id) 6. Пользователи (id, login, pass) 7. Таблица вывода товаров (id, fk_значения характеристик_id * кол-во характеристик, fk_пользователи_id) Здесь…
0 votes16 answers -
Просветите по DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Прошу людей многоопытных и не голословных высказаться относительно фичи MySQL `datetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Думаю сейчас над структурой одной БД. Данная фича, как я вижу, позволяет автоматом сохранять момент, когда запись была создана/обновлена. Имхо, удобно, дёшево и сердито. Есть желание прилепить такое поле чуть ли не в каждую таблицу. Внимание вопрос: Кто может аргументировать, стоит ли её использовать массово на таблицах, не скажется ли это на скорости записи чтения, обновления? Ничего толково почитать в поисковике не попалось. Честно признаюсь, лень писать огромные синтетические тесты. Бахнул цикл на 1000…
0 votes2 answers -
Пустые процессы
Вопрос тут возник у меня на сервере достаточно много пустых процессов с чем это связано? http://s12.radikal.ru/i185/1007/29/ffda95fa31dd.jpg
0 votes13 answers -
Разбитие и суммирование строки или регуляркой
Может кто подсказать? В БД в поле хранятся значения в виде "20/30/60" при этом нужно сравнить с параметром, указанным в $_GET запросе Т.е. нужно чтобы например 120>= 20+30+60 Можно ли через REGEXP это сделать(суммирование параметров)? Или же разбить на три ячейки и сравнивать с нужным значением Т.е. при использовании SELECT, сделать выборку с нужной подменой
0 votes11 answers