Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie złożone mi nie działa
m72
post 16.08.2021, 15:48:38
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 25.12.2012

Ostrzeżenie: (0%)
-----


Wpis się wywalił całkowicie po edycji więc piszę jeszcze raz.
Mam problem z ze złożonym zapytaniem w którym chcę pobrać nazwy kolumn z bazy information_schema.

  1. SELECT * FROM test.p WHERE name IN ( SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='test' AND TABLE_NAME = 't' AND COLUMN_NAME LIKE 'p%')


To zapytanie działa na moim lokalnym "serwerze" a na hostingu w az.pl już nie, wynik jest pusty. W czym może być problem ?
Może to kwestia jakiś ustawień zmiennych serwera ?

Oto baza.

  1. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  2. /*!40101 SET NAMES utf8 */;
  3. /*!50503 SET NAMES utf8mb4 */;
  4. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  5. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  6. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  7.  
  8. CREATE TABLE IF NOT EXISTS `p` (
  9. `id` int(11) DEFAULT NULL,
  10. `name` varchar(20) CHARACTER SET utf8 DEFAULT NULL
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
  12.  
  13. DELETE FROM `p`;
  14. /*!40000 ALTER TABLE `p` DISABLE KEYS */;
  15. INSERT INTO `p` (`id`, `name`) VALUES
  16. (1, 'p1'),
  17. (2, 'p2'),
  18. (3, 'p3'),
  19. (4, 'p4'),
  20. (5, 'p5');
  21. /*!40000 ALTER TABLE `p` ENABLE KEYS */;
  22.  
  23. CREATE TABLE IF NOT EXISTS `t` (
  24. `id` int(11) NOT NULL,
  25. `p2` varchar(20) DEFAULT NULL,
  26. `p3` varchar(20) DEFAULT NULL,
  27. `p5` varchar(20) DEFAULT NULL,
  28. `p1` varchar(20) DEFAULT NULL,
  29. PRIMARY KEY (`id`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  31.  
  32. DELETE FROM `t`;
  33. /*!40000 ALTER TABLE `t` DISABLE KEYS */;
  34. /*!40000 ALTER TABLE `t` ENABLE KEYS */;
  35.  
  36. /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
  37. /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
  38. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  39. /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;


Ok na innym forum ktoś podpowiedział więc daję tu odpowiedź, może komuś się przyda.
Zapytanie nie działało bo trzeba dodać
  1. SET optimizer_switch='semijoin=off';


Ten post edytował m72 19.07.2021, 05:51:28
Go to the top of the page
+Quote Post
nospor
post 16.08.2021, 16:24:26
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Moge spytac po co takie cudowanie? Wyglada to tak jakbys uzywal nazw kolumn z drugiej tabeli tylko po to by okreslic sobie jakies sortowanie i nie chce mi sie wierzyc ze masz taka strukture tylko po to wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 16:09