LINUX.ORG.RU

MySQL почему-то добавляет лишний префикс к имени таблицы. Как побороть?

 


0

2

В базе данных ltrash есть таблица с именем lt_menu.

Даю простую команду:

INSERT INTO `lt_menu` (`text`, `url`, `type`, `page_header`,  `id`) VALUES ('a', 'b', '1', 'c',  '1');

И получаю ошибку:

1 queries executed, 0 success, 1 errors, 0 warnings

Query: INSERT INTO `lt_menu` (`text`, `url`, `type`, `page_header`, `visible`, `id`) VALUES ('a', 'b', '1', 'c...

Error Code: 1146
Table 'ltrash.lt_lt_menu' doesn't exist

С какого-то перепуга MySQL вместо таблицы lt_menu обращается к таблице lt_lt_menu, которой, конечно, нет.

Я никаких настроек для базы не делал, даже не знаю, можно ли сделать какой-то автопрефикс. На других таблицах, например с именем lt_articles, такой проблемы нет.

Что это за глюк такой вылез? Как от него избавиться?

★★★★★

Как от него избавиться?

Найти причину методом тыка. Через что выполняешь запрос? Такое только с инсерт или селект, апдейт тоже?

TDrive ★★★★★
()

Как создавалась таблица?

sT331h0rs3 ★★★★★
()
Ответ на: комментарий от TDrive

Через что выполняешь запрос?

И через PHP-код, и через SQLYog (в WINE). В SQLYog пробовал и прямой командой и через интерфейс. Во всех трех случаях ошибка та же самая.


Такое только с инсерт или селект

Селект

[code]SELECT * FROM `lt_menu`;[/code]

проходит без ошибок, но строки не выбираются, т. к. база пустая.


апдейт тоже?

База ведь пустая, нечего апдейтить.

Xintrea ★★★★★
() автор топика

Триггер небось к несуществующей таблице обращается. show triggers (или как-то так) смотри.

ziemin ★★
()
Ответ на: комментарий от TDrive

Всё, нашел ошибку.

Это я неправильно триггер написал. В триггере действительно было написано вместо `lt_menu` `lt_lt_menu`.

Просто сообщение об ошибке вообще не информативное.

Xintrea ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.