sql >> Databáze >  >> RDS >> Mysql

Nesprávný soubor klíče pro tabulku '/tmp/#sql_18b4_0.MYI' zkuste jej opravit

Sakra, to byla hloupá chyba od mého vývojáře, po 30 minutách mozkové bouře, abych navrhl tento dotaz jiným způsobem, jsem dostal tento problém, že vývojář používal připojení nesprávným způsobem, kvůli tomuto mysql nebyl schopen správně spojit data tabulek a spotřebovává veškerý prostor v adresáři /tmp a vyvolá tuto chybu. Správný dotaz je zde-

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;

Nyní je zde otázka, zda se jedná o chybu mysql, protože mysql by mělo způsobit špatnou syntaxi, ale zde se mysql pokouší vytvořit dočasnou tabulku pro dočasná data.

Budu velmi vděčný, pokud mi to někdo vysvětlí.




  1. Mysql Chain Select Query

  2. MySQL VARCHAR(255) UTF8 je pro klíč příliš dlouhý, ale maximální délka je 1000 bajtů

  3. Geolokační SQL dotaz nenašel přesnou polohu

  4. SQL tabulka s položkou seznamu vs SQL tabulka s řádkem pro každou položku