|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
8.0.2 Код: plaintext 1.
Features Deprecated in MySQL 8.0 The utf8mb3 character set is deprecated. Please use utf8mb4 instead. ?? как сделать такое? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 15:43 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя как сделать такое? Код: sql 1.
Ну тебе ж очень даже вменяемо пишут: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:00 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina, раньше делал так Код: sql 1. 2. 3. 4. 5. 6. 7.
как счас? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 17:49 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя раньше делал так Код: sql 1. 2. 3. 4. 5. 6. 7.
как счас? Вероятно, WHEN state =1 THEN (SELECT @f + 1 INTO @f) . Хотя я бы сделал так: Код: sql 1. 2. 3.
А вообще - какая в пень разница? По сравнению с различиями синтаксиса у разных СУБД это изменение - мелочь... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:16 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina Вероятно, WHEN state =1 THEN (SELECT @f + 1 INTO @f) . Misplaced INTO clause, INTO is not allowed inside subqueries, and must be placed at end of UNION clauses. Akina А вообще - какая в пень разница? По сравнению с различиями синтаксиса у разных СУБД это изменение - мелочь... вопрос как сделать чтоб работало как нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:32 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
такое как? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:35 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Ну типа (не эквивалент, но для демонстрации подхода) Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:37 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina, это извращение и проблема в этом @f := @f ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 20:54 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя, это предупреждение, не ошибка. в 8.0.х еще будет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 21:12 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov это предупреждение, не ошибка. в 8.0.х еще будет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:26 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
зачем готовиться, можно на 5.7 сидеть еще лет 10 да и на МариюДБ легко перейти ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:50 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov зачем готовиться, можно на 5.7 сидеть еще лет 10 да и на МариюДБ легко перейти но если есть что лучше - почему не пользоваться? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:56 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
тут согласен, лучше лучшее, чем непонятное новое, поэтому и не упираюсь в 8-ку ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 23:19 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
неужели нет замены? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 17:50 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя, оракл пересаживает MySQL к стандарту. В стандарте SQL нет юзер переменных. Хотят оставить через SET @my_var... т.е. в процедурах и функциях. заменить SELECT @a:=@a+1, .... from никак. Ввели WITH (СТЕ) и т.д пользуйся MariaDB. Там все сохранено. Есть и СТЕ и Оконные функции и т.д. Т.е. старое остается на старом (а на серьезных проектах никто не оставляет MySQL с автоапдейтом). Какой тебе нужен еще выход? Поясни. Большинство кто ставит сервера на Linux сидит с MariaDB, что есть в комплекте, не констатирую но предполагаю. Я же выше намекнул - вариантов мало, в общем случае - переделать все в стандарте - остаться на 5.7 - перейти на Марию (не думаю что у тебя что-то скажется в проектах) - клиент предпоследнее дело - последнее ... Ты же выше написал - много что можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 20:44 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
здесь Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
смысл @f какой? ведь порядок вычисления Код: sql 1.
не гарантирован почему не Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
и т.д. т.е. все где @var:= без SET надо переделывать. напрямую нельзя без пока-предупреждения. и версия 8.0.20, а не 8.0.2, нумерация не через .01 .02 а счетная 1,2,....20 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 20:58 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, я может не полностью освоил оконные и CTE.... но есть такая задача есть поле с типами события: с1,с2,..с7 у каждого события есть его время задача определить время между событиями с2 и с5 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
получается просто к вопросу о переходе на другую субд или о сохранении старой версии - это отдельная тема вне данного топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 10:45 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя задача определить время между событиями с2 и с5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 13:39 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina Две копии таблицы гораздо проще и производительнее решат задачу, чем этот геморрой с переменными и полным сканированием таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 17:06 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя две копии не надо сканировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 19:12 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
авторк вопросу о переходе на другую субд или о сохранении старой версии - это отдельная тема вне данного топика. переход на мариюдб - это простая вещь как поменять сигареты Винстон на Мальборо. Табак один, обертка разная. Ничего критичного в разнице MySQL-MariaDB ты не используешь 99%. Снять дамп переустановить истинную ДБ от Майкла Видениуса это очень просто. Интересно зачем в Дебиан менять дефолтный стек MariaDB на уже давно Оракловый MySQL. Есть нюанс - неизвестно насколько долго Мария будет держать фичи старого MySQL. Но по дефолту - это их принцип. Но еще раз - MariaDB - это лучший вариант. Поэтому и включают в дистрибутивы по дефолту. Akina уже отвечал я пока не вчитывался дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 19:37 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя, читаю далее, гром гремит, дождь как из ведра... ты не показывал ранее смысла давай по порядку, автор вадяесть поле с типами события: с1,с2,..с7 у каждого события есть его время задача определить время между событиями с2 и с5 нормализовать...? или Акина уже говорил об этом... реально летит только то что в FAQ от Javadbc с переменными, там обалденно мудрые мысли, но теперь товарищи из Оракле предлагают менять носки на гольфы. Ты пока не переработаешь все, что на "фичах" старого MySql - будешь в глобальном удивлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:18 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina Напомнить про существование такой фигни как индексы? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:23 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov нормализовать...? или Акина уже говорил об этом... Alex_Ustinov реально летит только то что в FAQ от Javadbc с переменными, там обалденно мудрые мысли, но теперь товарищи из Оракле предлагают менять носки на гольфы. Ты пока не переработаешь все, что на "фичах" старого MySql - будешь в глобальном удивлении. пока есть время до выхода 9... я и хочу начать перерабатывать. Alex_Ustinov Интересно зачем в Дебиан менять дефолтный стек MariaDB на уже давно Оракловый MySQL. Alex_Ustinov Есть нюанс - неизвестно насколько долго Мария будет держать фичи старого MySQL. Но по дефолту - это их принцип. Alex_Ustinov Но еще раз - MariaDB - это лучший вариант. Поэтому и включают в дистрибутивы по дефолту. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:33 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя ... чтоб получить эти копии? но это только часть задач, которые решаются в этом запросе. еще Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
далее, почему в записи нельзя использовать одну переменную- порядок не гарантирован т.е. Код: sql 1. 2.
может выдать и (1010, 2020) и (2020,1010) меньше скрывай смысла больше получишь ответов ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:34 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov далее, почему в записи нельзя использовать одну переменную- порядок не гарантирован Alex_Ustinov меньше скрывай смысла больше получишь ответов просто приведённое решение решает одну из многих задач в этом запросе. тут ещё такое что это запрос из хранимки, а при использования в хранимке такого предупреждения не возникает ... или ide его не обрабатывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:44 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадябыло бы не плохо, вот только это приходит как данность из стороннего сервиса писал выше - никто не ставит автоапдейт МайСкуля тем более системы под проект. В любом случае, как говорил выше - переустановить на Марию - дело Замены масла в двигателе авто. Вадявопрос не в том, а в том как можно реализовать в новых версиях. пока есть время до выхода 9... я и хочу начать перерабатывать.показывай что ты хочешь перерабатывать. авторпросто приведённое решение решает одну из многих задач в этом запросе. никакого решения не видно. Показывай смысл запроса. Интересно зачем в Дебиан менять дефолтный стек MariaDB на уже давно Оракловый MySQL. авторпривычка. Нет такого в перечне привычек человека. Купить VW и сразу поменять двигатель на Skoda. Код: sql 1. 2.
специально вставил нюанс - ну того ответа и ожидал Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 21:37 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
тяжело в перехлесте писать авторНо еще раз - MariaDB - это лучший вариант. Поэтому и включают в дистрибутивы по дефолту. -- спорное утверждение, но имеет право на существование. это факт, а не утверждение. Большинство Линукс дистр-ов давно включили MariaDB, а не MySQL. ( LibreOffice а не OpenOffice и т.д.) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 22:28 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
авторя ожидал этого замечания, могу сказать что это обработка вложенного запроса и порядок гарантирован :)подробнее, с примерами ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 22:39 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
авторэто баг ide или это фича mysql ? выпилить из "простых запросов" , но оставив в запросах выполняемых в хранимках?а в консоли что показывает, трудно проверить, или действительно где то всплыло... Код: plaintext 1. 2. 3.
проверяемmysql> select @a:=@a+1 as id, t.id from t100 as t, (select @a:=0) as s limit 5; | id | id | | 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 4 | | 5 | 5 | 5 rows in set, 2 warnings (0.00 sec) -- пам-парам-парам-пампам - все работает! mysql> show warnings; +---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Warning | 1287 | Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'. | | Warning | 1287 | Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'. | +---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 22:56 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, ещё раз - переход от mysql - это отдельная тема. и не этого топитка. Alex_Ustinov подробнее, с примерами Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Alex_Ustinov а в консоли что показывает, трудно проверить, или действительно где то всплыло... разработчики ide, мне кажется , должны эти тонкости лучше знать. (конечно, в orarle будет правильнее спросить, но....) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 10:11 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
еще раз - переход на Марию - плевое дело. просто у твоего страха глаза велики. можно элементарно тестить на своей машине. Никто не говорит что сразу на продакшен. И отдельный топик не нужен что за запрос ты показал.. , переделай без переменных, не нужны они там и больше не вспоминай об этом запросе. откуда @f берется, если значение не присвоено - то это NULL Код: sql 1.
..... вот консоль и констатиреет, что пока это неважно. а GUI показывают и ошибки и предупреждения, работа у них такая что там ты у Оракла хотел спросить так и не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 20:00 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov что за запрос ты показал.. , переделай без переменных, не нужны они там и больше не вспоминай об этом запросе. Alex_Ustinov откуда @f берется, если значение не присвоено - то это NULL statetimec1t1c2t2nullt3nullt4c4t5c3t6c5t7c2t8с5t9 как вычислить время между с2 и с5? все остальные строки обязательны к выводу ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 21:12 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя как вычислить время между с2 и с5? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 07:24 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Akina И куда именно его поместить? в дополнительное поле каждой записи? или только у записи с2 или с5, а остальным там присвоить NULL? а для развития - я б хотел увидеть все варианты LATERAL может помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 08:31 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадяа для развития я б хотел увидеть все варианты такое подозрение, что ты опять ничего не пытался сделать. Покажи свой вариант с LEFT JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 10:01 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov такое подозрение, что ты опять ничего не пытался сделать. Покажи свой вариант с LEFT JOIN проблема в том, что необходимо запомнить где-то значение из строки -как это сделать? чем может помочь вариант с вариант с LEFT JOIN? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 10:38 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя, показывай что не получилось...странная риторика у тебя последнее время - "у меня не получилось но я хочу чтобы вы ребята мне выложили кучу вариантов для развития". Как всегда предлагает Акина - фиддл хоть выложи, чтобы было понятно что есть и что ты хочешь. Когда нужна исходная таблица "целиком", и необходимо что-то "пристыковать справа" - это есть LEFT JOIN. Условия соединения пишем в ON а не в WHERE, любые. Условия в WHERE отфильтруют и исходную таблицу. Ты уже сколько лет с MySQL, это базовые вещи SQL. авторпроблема в том, что необходимо запомнить где-то значение из строки -как это сделать?Зачем запоминать? Откуда такой "Цикловой подход" перебора? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 11:39 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, Alex_Ustinov Зачем запоминать? Откуда такой "Цикловой подход" перебора? тут 22143310 "образец" данных мне надо получить время между с2 и с5 чтоб это сделать надо из времени события с5 вычесть время события с2. как получит в строке с событиями с5 время предыдущего события с2, что посчитать разницу (ну и записать её в дополнительный столбец) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 12:05 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вадя, делать и думать сам не хочешь, я же все выше пояснил с LEFT JOIN понятно что у тебя вариантов и не было, иначе показал бы ну хорошо, я накидал смысл SQL "влоб", раз пишешь диссертацию - доделаешь сам, думать все равно придется fiddle авторКогда нужна исходная таблица "целиком", и необходимо что-то "пристыковать справа" - это есть LEFT JOIN. Условия соединения пишем в ON а не в WHERE, любые. Условия в WHERE отфильтруют и исходную таблицу. Ты уже сколько лет с MySQL, это базовые вещи SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 12:20 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
процитируем здесь Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 12:32 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, спасибо большое, но вполне было достаточно написать что LEFT JOIN таблицу с собой по полям остальное уж дошло бы ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 13:45 |
|
SET is deprecated как с эти бороться?
|
|||
---|---|---|---|
#18+
вот не пойму, если Код: sql 1. 2. 3.
переделать на IF() ТО можно вместо @f подставить не задумываясь этот IF() сюда Код: sql 1.
и зачем огород городить ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 20:33 |
|
|
start [/forum/topic.php?all=1&fid=47&tid=1828542]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 8ms |
total: | 168ms |
0 / 0 |