Chciałbym wyświetlić zapytanie tworzące procedurę: "SHOW CREATE PROCEDURE...".
Oczywiście wynik otrzymuję, z tym, że z pewnymi różnicami, jeśli korzystam z innego klienta bazy danych - czy tak być powinno?
Zagłębiając się w szczegóły, chodzi o wyświetlanie zmiennych procedury, a dokładnie tych liczbowych. Poniżej wyjaśniam...
Zapytanie z MySQL Workbench, czy przez PHPMyAdmin wyświetla mi np.:
CREATE DEFINER=`root`@`localhost` PROCEDURE `my_procedure`( IN `var_a` VARCHAR(40), IN `var_b` INT(4) UNSIGNED, IN `var_c` VARCHAR(255) CHARSET utf8 ) ...
I to jest ok.
Natomiast, w PHP, przy dokładnie tym samym zapytaniu, z wykorzystaniem PDO, otrzymuję taki wynik:
CREATE DEFINER=`root`@`localhost` PROCEDURE `my_procedure`( IN `var_a` VARCHAR(40), IN `var_b` INT() 4 UNSIGNED, IN `var_c` VARCHAR(255) CHARSET utf8 ) ...
Problem występuje przy "INT". W pierwszym przypadku liczba "4" znajduje się w nawiasie, zaś w drugim - znajduje się ona poza nawiasem, przez co całe zapytanie jest błędne, gdyż próbując wykonać takie, otrzymuję błąd składni.
Czy ktoś mógłby wyjaśnić o co chodzi?