Mam problem z ze złożonym zapytaniem w którym chcę pobrać nazwy kolumn z bazy information_schema.
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, błędów brak. W czym może być problem ?
Może to kwestia jakiś ustawień zmiennych serwera ?
Zaznaczam że pytanie to rozbite na dwa ale proste działa i zwraca poprawne wyniki.
SELECT * FROM test.p WHERE name IN ( ręcznie uzupełnione)
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='test' AND TABLE_NAME = 't' AND COLUMN_NAME LIKE 'p%'
A to jest baza testowa
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE TABLE IF NOT EXISTS `p` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
DELETE FROM `p`;
/*!40000 ALTER TABLE `p` DISABLE KEYS */;
INSERT INTO `p` (`id`, `name`) VALUES
(1, 'p1'),
(2, 'p2'),
(3, 'p3'),
(4, 'p4'),
(5, 'p5');
/*!40000 ALTER TABLE `p` ENABLE KEYS */;
CREATE TABLE IF NOT EXISTS `t` (
`id` int(11) NOT NULL,
`p2` varchar(20) DEFAULT NULL,
`p3` varchar(20) DEFAULT NULL,
`p5` varchar(20) DEFAULT NULL,
`p1` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DELETE FROM `t`;
/*!40000 ALTER TABLE `t` DISABLE KEYS */;
/*!40000 ALTER TABLE `t` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;