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
-
Как приводить данные ко 2й, а потом к третьей нормальной форме
Доброго времени суток всем. Дело такое - делаю курсовую по БД, а чтобы ее сдать на 5 нужно чтобы БД была приведена к 3ей нормальной форме, а для этого нужно ее сначала привести ко второй нормальной форме, так вот проблема в том что читаю теорию и не могу понять что это значит и как это делается. Может ли кто-нибудь из форумчан человеческим языком объснить, как это? Просто БД я сделала, с запросами и отчетами, но нужны еще и эти нормальные формы.
0 votes1 answer -
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 -
Unknown column 'м' in 'where clause'
Создал дополнительный столбец в БД Форма отсылает данные, в скрипте происходит выборка из БД, если значение в поле совпадает со значением в ячейке столбца. Вручную забил туда нужное значение. Так вот, если забить, скажем, 123 - то скрипт выполняется А вот если "м" или "m", то выводит эту ошибку. Тип данных varchar. В чем может быть проблема?
0 votes2 answers -
Не могу понять как составить запрос
есть такая структура БД Город Магазин Юзер_инфо id |-->|city | |id | name | |id |->|mag_id | |email | |user_data| |code | То-есть есть ряд городов в которых есть по несколько магазинов, по каждому магазину есть записи пользователей/код Нужно для каждого email магазина нужно выбрать все записи пользователей/коды по городу в котором находится этот магазин пример есть город Бобруйск, в нем есть магазин 1, магазин 2. в магазине 1 есть пользователи юзер1, юзер 2, в магазине 2 есть пользователь юзер 3. Нужно чтоб на имейл обоих магазинов было отправлено письмо содержащее юзер 1, юзер 2, юзер3. я делаю приме…
0 votes2 answers -
MySQL Fatal Error
MySQL Error! ———————— The Error returned was: Access denied for user 'username'@'localhost' (using password: YES) Error Number: 1 Помогите пожалуйста. В файле dbconfig.php прописано всё верно. Отчего это может быть?
0 votes2 answers -
left join
Есть 2 таблицы: name1 и name2; name1 создана так: create table name1(id int(3) auto_increment, name varchar(10), primary key(id)) name2 создана так: create table name2(id int(3) auto_increment, name varchar(10), primary key(id),foreign key(name) references name1) Вот так заполнены таблицы: Скажите, чем отличается это: select * from name1 left join name2 on name1.name=name2.name; от этого? select * from name1 left outer join name2 on name1.name=name2.name; Результат выдает один и тот же
0 votes3 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 -
Дублирование записи и несработка replace
Мне нужно чтобы не добавлялись идентичные 3 поля если они встретятся, а они добавляются даже если стоит первичный или уникальный ключ у меня в первом идуещм поле. Вот так вставляю и добавляется, а нужно чтобы заменялся дубликатом. Что делать? Вот так вставляю. replace into cat (name1,surname,age) VALUES("Алина","Глушева",34) прочитал здесь: http://phpclub.ru/mysql/doc/replace.html
0 votes2 answers -
Поиск слов состоящих ровно из 4 символов от А-Я и от а-я
Вот так пробую не выводит ничего вообще в результате: select name1 from cat where name1 REGEXP "^[А-Яа-я]{4}$"; и так не пашет: select name1 from cat where name1 REGEXP "^.{4}$"; и так не хочет: select name1 from cat where name1 REGEXP "^....$"; и так: select name1 from cat where name1 REGEXP "^\w{4}$"; Вот такая таблица, фото ниже. Нужно чтобы возвратило слова состоящие из 4 символов. Вот так работает, но я хотел бы регуляркой научиться такие фокусы select name1 from cat where name1 LIKE '____'; Как сделать такое же регуляркой?
0 votes1 answer -
Запрос с математическим условием
Нужно доставать из БД все объекты, которые имеют числовое значение не 0, плюс к этому сортируя их по другому числовому значению, которое должно быть чем больше, тем выше в списке. Другими словами, мне требуется вывести все объекты, за которые голосовали пользователи (т.е. количество голосов > 0), и показать их, сортирую по рейтингу ( 5.0 ). Не понимаю, как мне в ходе одного запроса к БД сформировать такое условие, что из двух или более одинаковых рейтингов выше был бы тот рейтинг, у которого больше голосов.
0 votes1 answer -
Mysql Select
Здравствуйте, есть такой простой код: <? $result = mysql_query("SELECT * FROM example_table"); ?> В результате вытягиваются все записи в таблице. Мне надо вытянуть строки номер 6,7 и 8, не трогая остальные 20. Как сделать это простым способом?
0 votes2 answers -
База маршрутов поездов
Всем привет. В общем суть: Раньше никогда не работал с подключением БД к странице. На странице будет находится поле "Место отправления" и "Место прибытия". А после должно выводиться ниже. Как это всё организовать? Может есть какой материал по этой теме? Буду благодарен за любую инфу.
0 votes2 answers -
как сделатьROLLBACK транзакции
Здравствуйте! Помогите разобраться. У меня 3 таблицы, все они связаны между собой. в 1-ю таблицу записываются личные данные, во 2-ю записываются виды услуг, а в 3-ю картинки. Связь по двум индексам. Делаю такую транзакцию для записи в три таблицы: ===================================== $sql = "START TRANSACTION;"; $result=mysql_query($sql); ===================================== $sql = "INSERT INTO tbl_personal_data(a,b,c)VALUES('".$a."','".$b."','".$c."');"; $result=mysql_query($sql); ===================================== $sql = "INSERT INTO vrn_servises_types(a,b,c)VALUES('".$a."','".$b."','".$c."');"; $result=mysql_query($sql); ===================================== …
0 votes2 answers -
Дамп БД mysql все улицы Москвы
Возникла необходимость на сайте определять АО и район г.Москвы по названию улицы. Сложного в этом ничего нет. Вся сложность в БД, в которой должны быть все улицы, ну и в идеале, столбцы, которые идентифицируют принадлежность к району. Так вот, сайтов которые такое позволяют делать полно, это и городские ресурсы, и доски объявлений и риэлторские сайты и много кто еще. Возник вопрос, разработчики сами для каждого сайта создают таблицы с улицами. Или где то можно взять (купить) готовые БД. Так как наполнять тысячи улиц самостоятельно, это геморно и долго. Я тут по поисковикам пошарился, но что то ничего не нашел. Может кто подскажет где взять или поделится готовой БД. Или на…
0 votes1 answer -
Структура таблиц
спросил сперва на другом форуме , там мне ниче так никто и не ответил : нужно сделать таблицы для сервиса поиска синонимов , слов будет много , как лучше организовать таблицы чтобы слова не повторялись и можно было легко выбрать связку синонимов для введенного слова ?
0 votes35 answers -
Помогите с запросом
есть таблица id id2 desc 1 1 text 2 1 text1 3 1 text2 4 2 text3 5 3 text4 6 4 text5 7 4 text6 8 4 text7 9 5 text8 Мне нужно сгруппировать по id2 и вывести максимальные id получить на выходе: id id2 desc 3 1 text2 4 2 text3 5 3 text4 8 4 text7 9 5 text8 я пробовал: SELECT max(id), id2, desc FROM test GROUP BY id2 id id2 desc 4 1 text 4 2 text3 5 3 text4 8 4 text5 9 5 text8 как видно что id стал максимальным но поле desc не соответствует id, еще пробовал: SELECT id, id2, desc FROM test GROUP BY id2 ORDER BY id DESC id id2 desc 9 5 text8 6 4 text5 5 3 text4 4 2 text3 1 1 text…
0 votes1 answer -
ошибка в составлении запроса
что не так , хочу вынуть заход (сумму полей) и айдишники кому они пренадлежат там где заход юзера выше захода конкретного айдишника select fbID , sum(PMWallpost + MorningWallpost + UrlLogin) as zahod from FacebookUserLoginActivity where zahod >= ( select sum(PMWallpost + MorningWallpost + UrlLogin) as zahod from FacebookUserLoginActivity where fbID = '100003708141393' ) GROUP BY fbID ORDER by zahod DESC ;
0 votes6 answers -
Что лучше несколько таблиц с несколькими колонками или одна таблица и много колонок
Здравствуйте! Подскажите, решаю такую проблему. Сайт на php база данных mysql. Есть данные организаций, название, телефон и все в таком духе примерно 14 колонок, есть еще вид деятельности, но их, видов, может быть более 20-ти, а еще есть 10 картинок их работ но тут есть колонка маленькая картинка, большая картинка и еще описание. В общей сложности получится +/- 60 колонок. Скажите как вы думаете лучше сделать одну такую таблицу или разделить на три, 1-я это данные фирмы, 2-я вид деятельности, 3-я картинки и связать их? Как вы думаете что быстрее делать выборку из одной таблицы или связав из трех? Спасибо за помощь!
0 votes9 answers -
Проблема с форматом поля
Доброго времени суток! возникла такая проблема: В поле таблице должно сохранятся некое шестизначное число которое вводит пользователь, проблема в том что если это число начинается с "0", то он не записывается пример вводим 005968 а получаем 5968 - а должно быть именно 005968 так как дальше идем сверка этого числа. пробовал менять формат поля (был VARCHAR), не помогло. Как заставить мускул записывать нули? не очень хочется писать проверку на отбрасывание нулей при сравнении =)
0 votes2 answers -
Временно хранимые данные
Какие есть соображения насчет того как организовать временное хранение данных в MySQL? Например есть некая таблица, которая должна хранить 100 последних записей. Как только записей становится 101, он должен удалить самую первую запись и их снова должно стать 100 и так далее. Я так понимаю каждый раз через PHP занося запись в таблицу нужно проверять количество записей, и если их больше чем 100, то при помощи запроса удалять, так? Или есть какой-то другой способ?
0 votes5 answers -
Интеграция CMS, форума и галереи
Всем привет. Сейчас разрабатываю проект. С php и mysql знаком очень слабо, т.к. занялся сайтостроением недавно. Но учусь быстро. Собственно сабж: имеется сайт на WordPress, с ним вместе работает форум на phpbb3. Всё бы хорошо, но - у них разные базы пользователей. Ещё присмотрел функциональную галерею Gallery 3.0.2. Но она также имеет свою базу пользователей. Если внешний вид для меня изменить нет проблем, то в технической части я практически ноль. Сейчас стоит задача объединить в одну таблицу MySql все 3 базы пользователей. Как это сделать? Нужно также, чтобы регистрация на форуме была аналогична регистрации на сайте, т.е. записывала юзера в общую базу. P.S. Искал в инет…
0 votes4 answers -
Запрос с учетом массива GET
Привет. В ссылке передаются (в различных количествах) переменные в массив $_GET вида ?v1=1&v2=2... Как составить запрос выборки из таблицы с учетом всех этих перменных. Хочется так: "SELECT * FROM table WHERE sub_id = '$_GET'"; Так как значений много, то запрос логично выглядел бы так: $v1 = $_GET['v1']; $v2 = $_GET['v2']; "SELECT * FROM table WHERE sub_id = '$v1' AND sub_id = '$v2' AND ..."; Писать цикл на все полученные переменные GET?
0 votes7 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 -
sql запросег
Подскажите, пожалуйста, как упростить запрос: select u.u_id,f.f_id from u,f where u.u_id=f.u_id group by u.u_id union select u.u_id,null from u и сделать так, что бы в результате u.u_id было уникальным? Суть данного запроса сводится к следующему: если, например, u - это таблица юзеров, а f - таблица фоток, то в результате должна получиться таблица с номером юзера в первой колонке и номером первой фотки, соответствующего юзера, во второй колонке. При этом, если у юзера нет фоток, то вместо номера фотки стоит null.
0 votes6 answers -
помогите переделать поле
какое должно быть +————+———————+——+—--+——————-+——-+ | Field | Type | Null | Key | Default | Extra | +————+———————+——+—--+——————-+——-+ | fbID | bigint(20) unsigned | NO | PRI | | | какое сейчас +———--+————-+——+—--+———+——-+ | Field | Type | Null | Key | Default | Extra | +———--+————-+——+—--+———+——-+ | fbID | varchar(30) | YES | | NULL | | я боюсь эксперементировать , так как там 63 тысячи записей , напишите как прaвильно
0 votes7 answers