Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
8 / 6 / 2
Регистрация: 02.04.2020
Сообщений: 164
1

Переполнения переменнои Path в рекурсии

15.03.2024, 01:03. Показов 407. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Получилось написать рекурсию, которая иерархию по parent_id переделывает в material path, но вот проблема, неудалось закинуть вторую таблицу (где +- 80 рядков и уровень глубины до 10 (ид в рекурсии из-за +100 3-4 символа). Суть проблемы в том что переполняеться столбец path, я добавил ограничения глубины рекурсии и при стандартном (+100 к ид основной таблицы) я получаб макс 5-ю глубину включительно, если сделать -100 ид, то 7, что исключает зацыкливания и подтверждает (переполнения, или чего-то иного). Можно ли Как-то увеличить path, чтобы избежать переполнения, или можно в ид и путь сделать новый порядок исчисления (с числа которое можно задать, например 19(количество рядков в таблице MP_tree куда я всё и переношу с таблицы objects)). Для понимания запроса, то даные с o.object_types же перенесены и начинаються с ид 4
Запрос:
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
WITH RECURSIVE ObjectPaths AS (
    SELECT object_id, name, CONCAT('1.2.', CAST(object_id + 100 AS CHAR)) AS path, object_type_id, 1 AS level
    FROM objects
    WHERE parent_id IS NULL
    UNION ALL
    SELECT o.object_id, o.name, CONCAT(op.path, '.', CAST(o.object_id + 100 AS CHAR)), o.object_type_id, op.level + 1
    FROM objects o
             JOIN ObjectPaths op ON o.parent_id = op.object_id
    WHERE op.level < 5
)
SELECT object_id + 100, name, path, (
    SELECT path FROM MP_tree AS mp WHERE mp.id = object_type_id + 3
) AS type_path
FROM ObjectPaths;
Ошибка:
[22001][1406] Data truncation: Data too long for column 'path' at row 1.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2024, 01:03
Ответы с готовыми решениями:

Как избавиться от переполнения стека при глубокой рекурсии?
Добрый день, Я написала рекурсивную функцию которая считает сложение дробей при n = 1000...

Сложить X и CONST с анализом арифметического переполнения. Установить признак переполнения OVR
X - 8-битное число без знака, находящееся в ОЗУ по адресу ADR1, CONST - константа. Сложить X и...

Сложить X и CONST с анализом арифметического переполнения. Установить признак переполнения OVR
Требуется только текст программы на ассемблере для решения задания! Заранее спасибо! X -...

Сокращение пути к файлу, x:\path\path\...\path
Помогите с решением такой задачи, желательно до четверга)): Строка длиной не более 1000 символов...

2
3400 / 1319 / 470
Регистрация: 31.05.2012
Сообщений: 4,668
15.03.2024, 08:27 2
Лучший ответ Сообщение было отмечено mrfox365 как решение

Решение

Кастомь не просто в char а с указанием длины. Или ещё лучше в varchar с длиной
1
8 / 6 / 2
Регистрация: 02.04.2020
Сообщений: 164
15.03.2024, 12:10  [ТС] 3
Помогло (указал длину чару), спасибо.
0
15.03.2024, 12:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2024, 12:10
Помогаю со студенческими работами здесь

сохронение данних в переменнои после POST
привет всем :) на странице несколко форм с методом POST и каждая перезагружает страницу. после...

Получить из строки число и присвоить его переменной
2. Переменная not_num содержит строку из трех символов-цифр, например &quot;528&quot;. Необходимо получить из...

The path you have specified (D:\Program Files) is invalid. The Oracle Home path may not contain spaces.
Возникла проблема с установкой Oracle9i Database 9.0.1.1.1 ОС: Windows XP Professional SP3 ...

Raphael.js карта - добавить polygon или path по клику на path рисунка карты
С наступившим, Форумчане Есть интерактивная карта, подгружаемая через библиотеку Raphael.js, по...

Открыть файл при нажать на область <path></path>
Доброго времени суток) Подскажите пожалуйста, не могу найти ответ в интернете. У меня есть...

[WPF] "Path" является неоднозначной ссылкой между "System.Windows.Shapes.Path" и "System.IO.Path"
Здравствуйте! Делаю экспорт из программы в Excel. Код брался от WinForm, немного переписал....

Найти директории path/dir, рядом с которыми есть файлы path/dir.png
Добрый день. Появилась задача следующего вида. На диске есть директории (назовём полные пути к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru