Toon posts:

Hoe veld van type 'longtext' in mysql vullen via jdbc?

Pagina: 1
Acties:

Vraag


  • roeleboel
  • Registratie: Maart 2006
  • Niet online

roeleboel

en zijn beestenboel

Topicstarter
Setup:
java 7 (als target voor compilatie)
mysql-jdbc connector (nieuwste van de oracle site)
mysql-db met voor het veld 'article_full_text' het type longtext (serverversie is de default van ubuntu 18.04)


Vraag:
kan iemand mij vertellen hoe ik een 'longtext' veld in mysql vul?
Met onderstaande code krijg ik helaas de foutmelding van hieronder waar ik niet direct mee verder kan.
In de docs van oracle staat mooi uitgelegd dat een 'text'-veld via het String-type benaderd kan worden, maar voor longtext geven ze geen info... (of ik krijg die info toch niet gevonden?)
Hulp zou zeker geapprecieerd worden :)

relevante code:
code:
1
2
3
4
5
6
7
8
9
10
PreparedStatement p = ineacDB.prepareStatement("UPDATE artikels SET 'pdf_relative_url' = ?, 'article_full_text' = ? WHERE 'jaar' = ? AND 'volume' = ?");

String text2set = "blablabla";

p.setString(1,"/pdfs/"+pdfname);
p.setString(2,text2set);
p.setInt(3, jaar);
p.setString(4, volume);

p.executeUpdate();


Exceptie die gegooid wordt:
code:
1
2
3
4
5
6
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''pdf_relative_url' = '/pdfs/INEAC-1.64.pdf', 'article_full_text' = 'blablabla' W' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
etc


Als iets niet duidelijk is, laat gerust weten.

Beste antwoord (via roeleboel op 25-09-2018 17:07)


  • Jaaap
  • Registratie: Februari 2000
  • Niet online
Die single quotes mogen niet. Backticks mogen daar wel.

Dat betekent
Het gebeurt
Dit verandert
Wat bepaalt

Alle reacties


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 26-01 15:28
De foutmelding lijkt me duidelijk, heb je al eens geprobeerd om het statement rechtstreeks uit te voeren in MySQL? Waarom heb je die quotes om de kolomnamen staan? Is dat wel nodig?

Hail to the king baby!


Acties:
  • Beste antwoord
  • 0Henk 'm!

  • Jaaap
  • Registratie: Februari 2000
  • Niet online
Die single quotes mogen niet. Backticks mogen daar wel.

Dat betekent
Het gebeurt
Dit verandert
Wat bepaalt


  • roeleboel
  • Registratie: Maart 2006
  • Niet online

roeleboel

en zijn beestenboel

Topicstarter
owkee, ik ga me even in een hoekje afzonderen om mij te schamen...

Dat is dus af en toe handig aan fora: de oplossing is soms zo eenvoudig dat je er letterlijk een halve dag overheen kijkt :(


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee