[Mysql] Query met reserved words

Pagina: 1
Acties:

  • ruudboon
  • Registratie: September 2001
  • Laatst online: 07:49
Ik probeer de volgende query uitvoeren.
$query = "INSERT INTO $table SET 'key'='$key'";
Helaas krijg ik een query error op 'key'.
In de mysql manual staat het volgende
A reserved word can be used as an identifier if you quote it.
Met een select query gaat het wel goed.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Probeer eens [Key] :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Ik heb het idee dat je een andere fout krijgt want je query klopt van geen kant ;)

Daarnaast vragen we eigenlijk wat meer van een topicstart (zie ook P&W FAQ - De "quickstart") dus wat heb je nu zelf al allemaal geprobreerd en wat lukte daar niet mee?

[ Voor 56% gewijzigd door Creepy op 21-04-2005 22:29 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • ruudboon
  • Registratie: September 2001
  • Laatst online: 07:49
Nope zelfde error

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 22:30

DizzyWeb

Ondertiteld

Je moet ook backticks gebruiken, geen singlequotes.

En, kijk je syntaxt eens na. INSERT doe je niet zo, dit is eerder een UPDATE.

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 07-05 12:51
Je probeert een waarde toe te wijzen aan een string. Je gebruikt nu apostrofes ('), maar je moet backticks (`) gebruiken om kolomnamen te benoemen. De backtick kun je op de meeste toetsenborden links van de 1 linksboven vinden.

edit: en die query zal sowieso niet parsen, nee :P

[ Voor 12% gewijzigd door JeRa op 21-04-2005 22:34 ]


  • ruudboon
  • Registratie: September 2001
  • Laatst online: 07:49
Volgens mij klopt de query wel.
Heb de kolom hernoemd naar key2 en de quotes verwijderd.
Query doet het nu wel goed. Het ligt dus echt aan de quotes

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Probeer eens `key` in plaats van 'key'. ;) Je gebruikt quotes voor strings, en backticks voor het aangeven van database/tabel/veldnamen. :)

edit:
Spuit 23521 :P

[ Voor 9% gewijzigd door NMe op 21-04-2005 22:33 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

pfff.... is dat een MySQL iets, die SET in een INSERT? In bijv. MS SQL kan ik hem niet vinden en in m'n SQL boeken heb ik die syntax ook nog nooit gezien...
Ok, ik ben blind.. ook MS SQL kent hem.......

[ Voor 16% gewijzigd door Creepy op 21-04-2005 22:37 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • blizt
  • Registratie: Januari 2003
  • Laatst online: 01-05 08:39

blizt

Wannabe-geek

Dat is gewoon fout. Het gebruik van keywords voor je veldnamen ook imho, maar ja, dat laat MySQL nu éénmaal toe...

edit:

WTF? Het mag wel? :X Dacht ik zoiets pas nog zag bij iemand en dat het een dikke error opleverde ...

[ Voor 35% gewijzigd door blizt op 21-04-2005 22:38 ]

United we stand, and divided we fall


  • ruudboon
  • Registratie: September 2001
  • Laatst online: 07:49
Bedankt voor de tip van backtick. Dat was het inderdaad zag dat niet in de manual staan.

[ Voor 77% gewijzigd door ruudboon op 21-04-2005 22:40 ]


  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 06-05 15:30
aparte manier die SET in het INSERT statement.
blijkbaar iets nieuws sinds 3.22.10
The INSERT ... SET syntax is supported in MySQL 3.22.10 or later
http://dev.mysql.com/doc/mysql/en/insert.html

  • ruudboon
  • Registratie: September 2001
  • Laatst online: 07:49
Ja inderdaad wel apart gebruik het zelf als ik maar 1 veld wil vullen. Vind het zelf erg logisch klinken

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

ruudboon schreef op donderdag 21 april 2005 @ 22:44:
Ja inderdaad wel apart gebruik het zelf als ik maar 1 veld wil vullen. Vind het zelf erg logisch klinken
Dan ben je een van de weinigen denk ik, de INSERT INTO .. VALUES .. syntax is veel bekender en meer gebruikt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:15

MueR

Admin Devschuur® & Discord

is niet lief

-NMe- schreef op donderdag 21 april 2005 @ 22:46:
Dan ben je een van de weinigen denk ik, de INSERT INTO .. VALUES .. syntax is veel bekender en meer gebruikt. :)
En creëert veel minder verwarring bij een post als deze ;)

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1