Mysql
 sql >> база данни >  >> RDS >> Mysql

Неправилен ключов файл за таблица '/tmp/#sql_18b4_0.MYI' опитайте да го поправите

О, по дяволите, това беше глупава грешка от моята страна на разработчика, След 30 минути мозъчна атака, за да проектирам тази заявка по различен начин, получих този проблем, че разработчикът използва присъединяване по грешен начин, поради това mysql не можеше правилно да обединява данни от таблици и консумира цялото пространство в директорията /tmp и хвърля тази грешка. Правилната заявка е тук-

SELECT `PsMasterSubject`.`id`, `PsMasterSubject`.`name`, `PsProgram`.`name`, `PsStreamLevel`.`id` 
FROM `misdb`.`ps_master_subjects` AS `PsMasterSubject` 
LEFT JOIN `misdb`.`ps_programs` AS `PsProgram` ON (`PsMasterSubject`.`ps_program_id` = `PsProgram`.`id`) 
LEFT JOIN `misdb`.`ps_stream_levels` AS `PsStreamLevel` ON (`PsStreamLevel`.`id` = `PsProgram`.`ps_stream_level_id`) 
LEFT JOIN `misdb`.`ps_program_levels` AS `PsProgramLevel` ON (`PsProgramLevel`.`id` = `PsStreamLevel`.`ps_program_level_id`) 
WHERE 1 = 1 
ORDER BY `PsMasterSubject`.`id` DESC LIMIT 10;

Въпросът е тук, че това е грешка в mysql, тъй като mysql трябва да пусне грешна синтактична грешка, но тук mysql се опитва да създаде временна таблица за временни данни.

Ще съм много благодарен, ако някой може да ми изясни това.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли някакъв начин да се използват json обекти в SQL

  2. Най-добри практики за оптимизиране на LAMP сайтове за скорост?

  3. Как да използвам постоянна връзка на PDO?

  4. Генерирайте данни за диапазон от дати, включително тези, които не присъстват в данните

  5. MySQL КЪДЕ В ()