
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
будет зависить от вида триггера

KOT
25.06.2017
09:49:12

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
Двумя запросами

Dmitriy
26.06.2017
05:28:24


Ринат
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

Dmitriy
26.06.2017
15:16:36

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

Dmitriy
26.06.2017
15:31:45

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

Mikhail
26.06.2017
16:27:38

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 в остальных таблицах ничего не меняется

Alexey
26.06.2017
18:23:50

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

Alexey
27.06.2017
06:16:51