J'utilise Java, Spring (NamedParameterJdbcTemplate) et MySQL. Ma déclaration ressemble à ceci:Comment insérer dans deux tables différentes dans une déclaration avec Java et MySQL?
INSERT INTO Table1 (Name) VALUES (?);
INSERT INTO Table2 (Path, Table1Id) VALUES (?, LAST_INSERT_ID())
Mais il jette l'erreur suivante:
PreparedStatementCallback; bad SQL grammar [INSERT INTO Table1 (Name) VALUES (?);
INSERT INTO Table2 (Path, Table1Id) VALUES (?, LAST_INSERT_ID())
] `
exception nichés sont:
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 'INSERT INTO Table2 (Path, Table1Id' at line 1
La syntaxe fonctionne bien dans MySQL mais quelque chose est en place lors de la combinaison via le modèle Spring.
Merci!
Non, je ne le fais pas! Je veux les faire par lots, j'ai 100.000 insertions à faire, c'est pourquoi je dois le faire dans une déclaration – MalcomTucker