Dette er teknisk set en fejl i phpMyAdmin. Fra 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 (
(listen inkluderer 'STATUS'
og 'TYPE'
, som tydeligvis ikke er på den refererede manualside).
Bug #948
identificerede, at phpMyAdmin på det tidspunkt skrev visse kolonnenavne med store bogstaver (inklusive STATUS
) på grund af (fejlagtigt) at blive identificeret som reserverede ord fra denne liste; disse søgeord blev oprindeligt fjernet
fra listen som følge heraf, men denne commit blev efterfølgende tilbageført
, af grundene forklaret af Alexander Turek
:
Din rettelse ødelægger den smukke printer! Dette er snarere et analysatorproblem.
FIRST og STATUS har været inde i dette reserverede ord-array, fordi de er en del af MySQL-kommandoer. STATUS bruges i "VIS STATUS" og FIRST del af ALTER-sytaksen.
Desuden påvirker denne fejl mange flere ord end bare STATUS og FIRST. Jeg vil ikke vide, hvad der sker, hvis man fjerner dem alle fra det reserverede ord-array...
På grund af din ændring er begge forespørgsler ikke fremhævet godt længere.
Det vil sige, phpMyAdmin bruger den samme liste over ord til at udføre syntaksfremhævning i sin smukke printer, som den gør til at detektere reserverede ord; dette er fejlagtigt og fører til de advarsler, du observerer.