13.06.2014, Vladimír Klaus, navštíveno 3589x

MS Access
SQL

Občas narazíte na zvláštní situaci, kdy někde najdete nebo jinak získáte SQL dotaz, který by měl být podle všeho správný, jenže vám nefunguje. Jde třeba o tento případ:

ALTER TABLE UserProfile ALTER COLUMN UserId IDENTITY (1,1)

Chyba konkrétně vypadá takto, ale nic špatného tam přesto nevidíte. Začnete měnit pole, přidávat závorky, hledat na webu další příklady, ale pořád nic. Všem to funguje, jenom vám ne. Že by to vaše databáze nepodporovala?

*Podivná chyba v SQL dotazu, obrázek 1

Kdepak, databáze to podporuje, názvy polí i tabulek jsou korektní. Nakonec na to asi přijdete a získáte tento korektní zápis dotazu.

ALTER TABLE UserProfile ALTER COLUMN UserId IDENTITY (1,1)

Zdá se vám stejný? Je i není. Ten problém, se kterým se nedokázala databáze vyrovnat byly nedělitelné mezery v dotazu. Když je nahradíte normálními, vše začne fungovat.

Plyne z toho nějaké poučení? Ano! Občas si zkuste pozorně přečíst chybovou hlášku, i když vám bude připadat nesmyslná až zavádějící. Někdy totiž ukazuje opravdu přesně na ono problematické místo. V tomto případě je nedělitelná mezera právě na pozici 12 a pak i na všech dalších místech.