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

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • 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)


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

Man has 2 testicles but only 1 heart...

Alle reacties


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 07-05 14:58
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
  • 0 Henk 'm!

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

Man has 2 testicles but only 1 heart...


Acties:
  • 0 Henk 'm!

  • 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 :(