• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Выбор нескольких значений из одной строки MySQL

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
В общем, обшарив интернет, погуглив (я правда гуглил ахах), не нашел простого решения проблема, все что находил - какое-то замудренное, поэтому прошу помочь.
В строке, через запятую, указаны значения, нужно отдельно их вытащить. Вот скрин
Без имени.jpg
 

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102
В общем, обшарив интернет, погуглив (я правда гуглил ахах), не нашел простого решения проблема, все что находил - какое-то замудренное, поэтому прошу помочь.
В строке, через запятую, указаны значения, нужно отдельно их вытащить. Вот скрин
Как я понимаю все это нужно сделать на чистом sql :)?
 

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Вообще это относительно плохой метод хранения данных. Если есть возможность, я бы лучше рекомендовал 3 столбца с значением int, чем 1 столбец с varchar, в котором будут эти 3 int. Меньше проблем, меньше мороки, более понятно при изменениях и легче работать с самими данными. Но если отвечать строго по твоему вопросу, то ты забираешь данные, как string, в коде делаешь split по символу ", ", получаешь массив из 3х string, каждый из них конвертишь в инт, получаешь все 3 числа.
 
Реакции: dreamharakiri

IronPython

Начинающий специалист
7 Ноя 2020
169
62
102
Вообще это относительно плохой метод хранения данных. Если есть возможность, я бы лучше рекомендовал 3 столбца с значением int, чем 1 столбец с varchar, в котором будут эти 3 int. Меньше проблем, меньше мороки, более понятно при изменениях и легче работать с самими данными. Но если отвечать строго по твоему вопросу, то ты забираешь данные, как string, в коде делаешь split по символу ", ", получаешь массив из 3х string, каждый из них конвертишь в инт, получаешь все 3 числа.
Ну а вдруг там у него типа массив который у каждого юзера отличается, также там может быть тысяча элементов, и типа делать тысячу столбцов? Вообще Да, нужно сначала узнать что он в этой колонке хранит :))
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,278
754
181
34
Соглашусь, не лучший способ хранения данных а таблице. Но, как вариант решения:
SQL:
SELECT *
FROM test
CROSS JOIN JSON_TABLE( CONCAT('[', test, ']'),
                       "$[*]" COLUMNS( value VARCHAR(254) PATH "$" )
                     ) AS value;
 

welaurs

Начинающий специалист
30 Ноя 2021
20
49
48
Ну а вдруг там у него типа массив который у каждого юзера отличается, также там может быть тысяча элементов, и типа делать тысячу столбцов? Вообще Да, нужно сначала узнать что он в этой колонке хранит :))
Можно применить более корректный способ и создать таблицу с подобной структурой:
SQL:
CREATE TABLE test (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT NOT NULL,
    `key` INT NOT NULL,
    `value` INT NOT NULL
);
А после получить запросом данные:
SQL:
SELECT * FROM test WHERE user_id = ? ORDER BY `key` ASC
Как альтернативный вариант использовать не VARCHAR, а JSON и сохранять непосредственно массив элементов дабы потом не сплитить.
 
Реакции: XDeveluxe и IronPython

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Ну а вдруг там у него типа массив который у каждого юзера отличается, также там может быть тысяча элементов, и типа делать тысячу столбцов? Вообще Да, нужно сначала узнать что он в этой колонке хранит :))
храню я там параметры внешности, то есть отдельно для каждой части лица делать столбец- не самое приятное решение
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
То есть, по факту, кроме внешней неэстетичности, проблемы в этом нет?
Менее удобно работать в коде тоже, лишний раз нужно джсонить, больше шанс получить каррапченную дату, если будешь что-то руками менять