phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Czy typ i status są słowem zastrzeżonym w MySQL?

Jest to technicznie błąd w phpMyAdmin. Od libraries/sqlparser.data.php :

/**
 * words forbidden to be used as column or table name wihtout quotes
 * as seen in http://dev.mysql.com/doc/mysql/en/reserved-words.html
 *
 * @global array MySQL forbidden words
 */
$PMA_SQPdata_forbidden_word = array (

(lista zawiera 'STATUS' i 'TYPE' , które wyraźnie nie znajdują się na wskazanej stronie podręcznika).

Błąd nr 948 zidentyfikował, że phpMyAdmin w tym czasie używał wielkich liter w niektórych nazwach kolumn (w tym STATUS ) z powodu (błędnej) identyfikacji jako zastrzeżone słowa z tej listy; te słowa kluczowe zostały początkowo usunięte w rezultacie z listy, ale to zatwierdzenie zostało następnie odwrócone , dla powodów wyjaśnionych przez Aleksandra Turka :

Twoja poprawka psuje ładną drukarkę! To raczej problem z analizatorem.

FIRST i STATUS znajdują się w tej tablicy słów zastrzeżonych, ponieważ są one częścią poleceń MySQL. STATUS jest używany w "SHOW STATUS" i FIRST części składni ALTER.

Co więcej, ten błąd wpływa na znacznie więcej słów niż tylko STATUS i FIRST. Nie chcę wiedzieć, co się stanie, jeśli zostaną przeniesione wszystkie z tablicy słów zastrzeżonych...

Z powodu Twojej zmiany oba zapytania nie są już dobrze wyróżnione.

To znaczy, phpMyAdmin używa tej samej listy słów do podświetlania składni w swojej ładnej drukarce, co do wykrywania słów zastrzeżonych; jest to błędne i prowadzi do obserwowanych ostrzeżeń.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Kod ograniczający rejestrację użytkowników - ukryj/pokaż formularz php

  2. Jak zautomatyzować tworzenie kopii zapasowej bazy danych za pomocą phpmyadmina

  3. Zapytanie BARDZO wolne (>30s) w php, ale szybkie podczas uruchamiania zapytania w phpmyadmin

  4. Dodaj element listy za każdym razem, gdy kliknę Prześlij

  5. Nie można uzyskać dostępu do phpMyAdmin po ustawieniu hasła do bazy danych