@mysql_ru

Страница 32 из 142
lost
23.06.2017
15:40:26
чем из таблицы на 300 лямов

Ринат
23.06.2017
15:41:29
Ну так чтобы справочник организовать-я должен выбрать строку, вытащить нужную часть и ее вставить в справочник-если такой не было

lost
23.06.2017
15:42:20
я бы начал с другого момента

самое дорогое будет колонку создать, ну и ключик повесить потом, хотя в 5.7 с его online ddl не все так грустно как раньше

Google
Ринат
23.06.2017
15:47:02
Ну у мариядб

Создать колонку в новой табличке?

lost
23.06.2017
15:50:14
а ты хочешь создать копию текущей таблицы только с новым полем и перелить потом?

Ринат
23.06.2017
15:53:21
Хочу изменить формат хранения лога, чтобы легче было выбирать статистику

Например ip хранит не строкой а интом

Что то в константы переведу, и просто буду хранит 1 или 2

lost
23.06.2017
16:01:42
умная мысля приходит апосля, как говорится

Ринат
23.06.2017
16:30:07
Ну да, переделать нужно от предыдущего хозяина

Subb98
23.06.2017
17:27:53
Привет, вопрос на засыпку =)

Например, есть у меня fk. natural join произведёт объединение именно по внешнему ключу, если не указать явно?

Чтобы было понятнее, вот два запроса: SELECT a, b, c FROM a_table LEFT JOIN b_table ON a_table.id = index; SELECT a, b, c FROM a_table NATURAL JOIN b_table;

Будет ли разница.

При условии, что index в b_table - это внешний ключ и ссылается на id в a_table.

Google
C.O.N.T.R.O.L.L.E.R.
23.06.2017
17:38:57
Как жаль что я не чего в этом не понимаю

Так бы с умничал XD

Помогите чуваку ))) есть кто шарющий?

lost
23.06.2017
18:41:24
а в документацию посмотреть не судьба видимо

Subb98
23.06.2017
19:43:28
Не актуально. Появился новый вопрос. Есть две таблицы. table_a id int(11) unique_index varchar(24) table_b id int(11) var_a int(11) var_b int(11) foreign_key_to_unique_index int(11) Как сделать insert вместе с join'ом? Пока что все попытки приводят к неудаче. В идеале нужен insert on duplicate key update. Делаю таким образом: INSERT INTO table_b (a, b, foreign_key_to_unique_index) SELECT table_a.id FROM table_a LEFT JOIN table_b ON table_a.id=foreign_key_to_unique_index WHERE unique_index='blabla' ON DUPLICATE KEY UPDATE a=20; Получаю ошибку вида: ERROR 1136 (21S01): Column count doesn't match value count at row 1

Поправка: fk не на unique_index а на id ссылается.

Fike
23.06.2017
20:00:11
ты селектом сколько колонок выбираешь?

Man
25.06.2017
06:20:16
@MoneyMafia - канал где бесплатно публикуются различные способы и схемы заработка, которые продаются на тематических форумах за бешенные деньги.

KOT
25.06.2017
08:42:19
Всем день добрый. Есть кейс: 2 таблицы, одна актуальная, другая идёт, как лог изменений первой. Данные второй поступаю из первой через триггеры, перенося копию старого вида строки в лог до внесения изменений. Так же во второй таблице прописан внешний включ к первой с указаниями "Update -> Cascade; Delete -> Restrict". Вопрос: Что в движке mysql отрабатывается раньше, триггер или CASCADE ? Пример: В первой таблице есть запись с ИД 6, в ней многое менялось и в логе к этому ИД накопилось 10 записей. Вдруг появляется задача изменить ИД на 7, по триггеру в лог должна упасть запись с ИД 6, а по внешнему ключу все записи с ИД 6 должны превратиться в ИД 7 в таблице лога. Что в итоге произойдёт, триггер допишет ещё одну запись с ИД 6, после чего все включая эту новую запись поменяются на ИД 7, или же внешний ключ отработает CASCADE, поменяет все записи до этого на ИД 7, а потом придёт триггер, который попытается вписать строку с ИД 6?

lost
25.06.2017
09:34:40
будет зависить от вида триггера

lost
25.06.2017
09:49:25
есть before, есть after

KOT
25.06.2017
09:50:33
lost
25.06.2017
09:51:10
значит до констрейта сработает

KOT
25.06.2017
09:53:02
значит до констрейта сработает
То есть сначала добавится строчка в лог таблицу, а потом все ИДшки сменятся на новое значение?

Mikhail
25.06.2017
23:18:58
Всем привет. Никак не могу понять, как правильно удалить данные из БД. Структура простая. Таблица plants: поля id, name. Таблица links: поля id, telegramID Мне приходит от клиента telegramID. Мне надо удалить все записи из таблицы links с таким telegramID и все данные из таблицы plants, если была связь в таблице links. Пробовал так: DELETE * from links, plants WHERE links.id = plants.id AND links.telegramID = 1467212;

Fike
26.06.2017
02:03:41
Двумя запросами

Ринат
26.06.2017
06:18:23
если задача однократная, то проще всего через select distinct заполнить
Вот если лайком можно вытащить отсюда GET /users/login.php HTTP/1.0 agent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36, |en-us;q=0.7, en;q=0.3| инфу о юзер агенте (т.е) - Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36, то наверное можно было бы дистикнтом выбрать

тоесть регэкспом значение между "agent=" и до ", |"

Google
Fike
26.06.2017
06:26:38
вы не думали просто перейти на более привычные инструменты для работы с такими данными?

тот же elk с логстешем (практически уверен, что оно это умеет), либо просто какой-нибудь goaccess с обычными файлами?

Ринат
26.06.2017
06:28:30
дело в том что нужно смигрировать в новый формат старые записи

Fike
26.06.2017
06:29:54
или подойти к задаче уровнем выше и рассмотреть вариант скармливания этого всего в приспособленную для работы с логами машину

Ринат
26.06.2017
06:30:40
ну то что я выше написал

это разовая операция

далее текущие логи будут на лету на нужный формат и таблицы разбиваться и писаться

Алевтина
26.06.2017
09:25:38
Всем добрый день! Подскажите, пжл, могу ли я здесь повесить вакансию? Очень нужен Администратор баз данных Mysql в Москву

Ринат
26.06.2017
09:26:56
Добрый, повесте, вроде не против были до этого люди

Алевтина
26.06.2017
09:29:44
Вакансия "Администратор баз данных Mysql" Обязанности: • Обеспечение доступности и работоспособности СУБД Mysql (производные); • Оптимизация производительности БД, настройки запросов и процедур; • Взаимодействие с разработчиками БД, помощь в оптимизации, отладке, troubleshooting; • Мониторинг, резервное копирование, восстановление из резервных копий; • Настройка средств обеспечения отказоустойчивости и репликации; • Обеспечение информационной безопасности на уровне БД; Требования: • Опыт работы администратором баз данных от 3 лет; • Знания и опыт администрирования высоконагруженных баз данных Mysql; • Опыт настройки и оптимизации кластерных решений на Mysql; • Знание операционной системы Linux (RedHat/Centos) на уровне администратора; • Опыт оптимизации процедур и настройки запросов; • Опыт работы с виртуализацией KVM / VMWare, знание особенностей настройки СУБД на виртуальных машинах; Будет плюсом: • Наличие сертификатов/курсов повышения квалификации; • Опыт работы с другими БД (Postgresql, Oracle). Условия: • Полностью официальные выплаты: оклад 150 000 руб (gross) + квартальный KPI 20% • ДМС (после испытательного срока) • Обучение, повышение квалификации, сертификация

Очень-очень буду ждать откликов. Спасибо!

lost
26.06.2017
09:44:34
Ринат
26.06.2017
09:56:05
Для разово й выборки?

lost
26.06.2017
10:03:02
да

Ринат
26.06.2017
10:32:48
да
через двойной проход можно

тоесть сначало отсечь либо левую либо правую часть строки , потом второй раз

lost
26.06.2017
10:33:11
а можно substring_index вложить в substring_index

Ринат
26.06.2017
10:33:17
я про это же)

lost
26.06.2017
10:33:25
в 1 запросе

Google
Again
26.06.2017
14:02:45
Какого типа поле создать,которое сможет хранить положительное или отрицательное число?

чтоб я потом мог выводить данные,отрицательное ли число или нет

lost
26.06.2017
14:09:47
int, наверное



Again
26.06.2017
14:10:32


просто число

без + или -

lost
26.06.2017
14:11:46
ну, если отрицательное, будет с минусом

а плюсики минусики ты уже можешь сам выводить либо сравнив с нулём, или заюзав функцию какую-нибудь, типа sign()

Again
26.06.2017
14:13:24
Спасибо

А то лабу делаю. Вообще жопа :<

lost
26.06.2017
14:13:50
энжой ё mysql

Mikhail
26.06.2017
15:09:45
Innodb + внешние ключи с каскадным удалением. Plants глааная, links зависимая, связи по нужным тебе id. Если я правильно понял задание, то будет примерно так: Delete from plants where id IN (select id from links where telegramID = 1467212);
Тоже ругается. Консоль говорит, что Cannot delete or update a parent row: a foreign key constraint fails (plants.links, CONSTRAINT links_ibfk_2 FOREIGN KEY (id) REFERENCES plants (id)) Буду пытаться через триггеры, видимо

Mikhail
26.06.2017
15:17:21
Дай sql помотреть
Что именно? Именно сам запрос на удаление?

Дай sql помотреть
Удалял так: delete from plants where id IN (select id from links where telegramID = 146701);

lost
26.06.2017
16:15:47
раз он ругается на констрейт - у тебя не каскадное удаление, у тебя стоит запрет на удаление

Mikhail
26.06.2017
16:27:38
раз он ругается на констрейт - у тебя не каскадное удаление, у тебя стоит запрет на удаление
Ну как бы я понимаю, почему записи не удаляются. Если я удаляю запись из plants, то у меня связность в БД нарушается, потому что в таблице links в поле id у меня могут быть только те значения, которые записаны в поле id таблицы plants. Но я не очень понимаю, как тогда правильно удалять

Google
lost
26.06.2017
16:28:21
у тебя links должна быть главная таблицпа

SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS rc WHERE rc.REFERENCED_TABLE_NAME = 'plants';

выполни вот это

Mikhail
26.06.2017
16:59:50
Так у меня по идее и есть такая структура
Пытался настроить каскадное удаление вот так: alter table links add constraint auto_del foreign key (id) references plants(id) on delete cascade; Но при удалении из links в остальных таблицах ничего не меняется

Gonchik
27.06.2017
06:10:32
Привет! Не подскажите где спрятана магия, делаю мастер-слейв реплику на MySQL 5.6.36 . Bin_log ввёл в параметры MySQLd, нет сведений при запросе show binary log. Файл инициализации логов создаётся. Далее делаю копию виртуалки и на копии при рестарте демона все работает. Не направите в чем может быть ошибка?

Страница 32 из 142