CALL is nu reserved in MySQL

Hardware en software.
Plaats reactie
Bericht
Auteur
Gebruikersavatar
vk2gwk
Berichten: 1235
Lid geworden op: 25 sep 2005, 08:41
Locatie: One Mile Beach NSW
Contacteer:

CALL is nu reserved in MySQL

#1 Bericht door vk2gwk »

In versie 5.0.* van MySQL (community versie) is het woord CALL nu een "reserved word". Dat betekent dat je het niet meer kunt gebruiken als naam van een tabel of veld in een data base.

Ik kwam daar achter toen mijn server werd upgraded naar de nieuwe versie: plotseling genereerde mijn on line log syntax errors. :(

Voor andere "on line" loboek bouwers interessant wellicht. Aangezien ik de standaard ADIF veldnamen ook als veldnamen in de database gebruik (scheelt enorm in de hoeveelheid code...) heb ik nu een apart "if" statement moeten opnemen om van CALL CALLS te maken en omgekeerd.
zenden is zilver.... luisteren is goud!
Kijk ook eens op mijn website of naar mijn andere hobby op Flickr

Gebruikersavatar
wbeekman
Berichten: 1184
Lid geworden op: 17 okt 2005, 14:27
Locatie: Amersfoort / Regio 03

#2 Bericht door wbeekman »

Zo zie je maar dat het radio amateurisme ook in MySQL zijn/haar opwachting maakt.
(hihihi ;-) )

P.S. Maar alvast bedankt voor de info. Per slot van rekening is daar dit forum ook voor.
(gegevens uitwisseling )
Wim

73 de NL4509 / PA3AGZ
QTH: Amersfoort - R03 - JO22QD
Lid van: VERON, OTC en IPARC

Gebruikersavatar
pd1rh
Berichten: 532
Lid geworden op: 11 aug 2007, 16:12
Locatie: Ass'n ( jo33ga )

#3 Bericht door pd1rh »

Precies.
Zelfs de oude Romeinen hadden al een forum.
Alleen zonder PC's...
Condor16,KENWOOD480SAT,YAESU857D, KENWOOD TH-F7E en AOR8000 RX

D41
Berichten: 64
Lid geworden op: 10 sep 2006, 14:45

#4 Bericht door D41 »

.
Laatst gewijzigd door D41 op 08 aug 2010, 09:20, 1 keer totaal gewijzigd.

pe2ren
Berichten: 11
Lid geworden op: 17 jun 2008, 18:35

#5 Bericht door pe2ren »

Als je in je queries het woord tussen ` ` (backtik) zet kun je hem wel gebruiken.

PD0VK
Berichten: 85
Lid geworden op: 03 jan 2008, 20:08
Locatie: Waddinxveen
Contacteer:

#6 Bericht door PD0VK »

idd backticks gebruiken....

Je krijgt dan een query die er als volgt uit zou kunnen zien (zo uit m'n hoofd ;) )
SELECT `id`, `call`, `date` FROM `logboek` WHERE `call` LIKE 'pa3%'


of
INSERT INTO 'logboek' ( `call`, `date`) VALUES ('pa0abc', NOW() )
Let er dus op dat de backticks overal gebruikt moeten worden, zodra je ze gaat gebruiken. in een query!

Gebruikersavatar
vk2gwk
Berichten: 1235
Lid geworden op: 25 sep 2005, 08:41
Locatie: One Mile Beach NSW
Contacteer:

#7 Bericht door vk2gwk »

Dat met de back ticks werkte bij mij niet omdat ik een hele ADIF sentence uit elkaar pluk en dan de veldnamen gebruik in de INSERT query
zoals:
$query= 'INSERT INTO QSO '.$F_imp.' VALUES '.$R_imp;
Ik zou de hele coding hebben moeten omgooien. Dus heb ik maar een S achter CALL gezet. :)
zenden is zilver.... luisteren is goud!
Kijk ook eens op mijn website of naar mijn andere hobby op Flickr

PD0VK
Berichten: 85
Lid geworden op: 03 jan 2008, 20:08
Locatie: Waddinxveen
Contacteer:

#8 Bericht door PD0VK »

vk2gwk schreef:Dat met de back ticks werkte bij mij niet omdat ik een hele ADIF sentence uit elkaar pluk en dan de veldnamen gebruik in de INSERT query
zoals:
$query= 'INSERT INTO QSO '.$F_imp.' VALUES '.$R_imp;
Ik zou de hele coding hebben moeten omgooien. Dus heb ik maar een S achter CALL gezet. :)
Da's ook een manier om het op te lossen...

Die veldnamen zou je eventueel ook nog door backticks hebben kunnen laten omsluiten (in ieder geval, het lijkt erop dat je PHP gebruikt). Je had dan iets als dit kunnen doen (weer uit m'n hoofd), er vanuit gaande dat R_imp een array is...
<?php
foreach($R_imp as $imp) { $imp = '`'.$imp.'`'; }
?>


maar wat je nu gedaan hebt is idd makkelijker :)

Plaats reactie