|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
CREATE DEFINER=`xxx`@`xxx` PROCEDURE `MUL`(lang varchar(2)) BEGIN SELECT IFNULL ((SELECT JSON_EXTRACT(name1, "$.en")),(SELECT JSON_EXTRACT(name1, "$.ru")))text FROM MUL_LANG; END В этом месте (name1, "$.en") нужно чтобы искалось не значение en, а значение переменной lang, как только не пробовал подставлять, не получается. Прошу помощи у гуру. Сам только учусь, благо есть возможность учиться на работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 10:41 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
hysgvarnaВ этом месте (name1, "$.en")Это место с точки зрения синтаксиса MySQL - полный бред. hysgvarnaзначение переменной langНу и поставь её в запрос вместо этой непонятной хрени. hysgvarna(SELECT JSON_EXTRACT(name1, "$.en"))Что такое name1? Откуда взялось? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 12:04 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
Akina, Стоп, данный синтаксис указан в официальной документации JSON_EXTRACT. Данный код рабочий, но не динамический. Опишу данный код для ясности. На входе я хочу получать язык пользователя, на выходе он должен отдавать текст с учетом языка. Данная строка (name1, "$.en") выбирает язык выводимого текста. На данный момент я не могу использовать входные параметры, либо могу, но код нужно делать громоздким. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 12:53 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
Akina, hysgvarna (SELECT JSON_EXTRACT(name1, "$.en")) Что такое name1? Откуда взялось? name1 - это название столбца ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 12:54 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
hysgvarnaданный синтаксис указан в официальной документации JSON_EXTRACT.И где же там двойная кавычка-то, в документации? hysgvarnaname1 - это название столбцаВ Вашем коде - НЕТ. Там в скобках запрос, не имеющий секции FROM - следовательно, никаких полей там не может быть в принципе. hysgvarnaНа входе я хочу получать язык пользователя, на выходе он должен отдавать текст с учетом языка. Т.е. если есть - возвращаем переданный язык, иначе русский, верно я понимаю? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Хотя в упор не понимаю, нахрена для такой мелочи - один запрос! - огород городить с процедурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 13:56 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
Akinahysgvarnaданный синтаксис указан в официальной документации JSON_EXTRACT.И где же там двойная кавычка-то, в документации? вот https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html но на некоторых ресурсах и одинарная стоит, но в целом и так работает. hysgvarnaname1 - это название столбцаВ Вашем коде - НЕТ. Там в скобках запрос, не имеющий секции FROM - следовательно, никаких полей там не может быть в принципе. Вывод данной программы был корректен, хотя я понимаю о чем вы. hysgvarnaНа входе я хочу получать язык пользователя, на выходе он должен отдавать текст с учетом языка. Т.е. если есть - возвращаем переданный язык, иначе русский, верно я понимаю? Верно Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Хотя в упор не понимаю, нахрена для такой мелочи - один запрос! - огород городить с процедурой. Это решение будет применено для мультиязычности на большом сайте. В любом случае спасибо вам большое, очень помогли, программа стала работать корректно. совсем забыл про конкатенацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 14:36 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 14:49 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
hysgvarnaЭто решение будет применено для мультиязычности на большом сайте.Тогда разумнее делать функцию, которой передаётся термин (слово в предопределённом языке либо его индекс), а также желаемый язык - и она возвращает этот термин либо в желаемом языке, либо, при отсутствии, в дефолтном. Так появляется хотя бы какой-то смысл... а процедура - она ни о чём. Её даже как источник данных в запросе нельзя использовать - тупо запрашивать слова по одному... Хотя если в процедуру передавать массив слов сразу для всех элементов текущей страницы - может, и прокатит. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 14:51 |
|
Вопрос по синтаксису JSON_EXTRACT. Значение поиска в строке нужно сделать динамическим.
|
|||
---|---|---|---|
#18+
Не понимаю... что делают в Вашем коде лишние SELECT ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 15:19 |
|
|
start [/forum/topic.php?fid=47&msg=39852712&tid=1829009]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 175ms |
0 / 0 |