Я использую Grails, работаю с MySQL, используя groovy.sql.sql.Запрос с groovy.sql.sql не работал, но он работает с MySQLWorkbench
Я сделал запрос в своем контроллере, но он не работал. Хотя я скопировал свой код sql для работы в mySQL Workbench, он работал нормально.
Вот мой код в контроллере,
def createSomething(){
def sql = new Sql(dataSource)
def Title = params.playlistName
def StartDate = params.startDate
def EndDate = params.endDate
def map = [title:Title, start:StartDate, end:EndDate]
sql.execute (
"START TRANSACTION;"+
"BEGIN;"+
"INSERT INTO playlist (`name`) VALUES ('$map.title');"+
"SELECT playlist.id from playlist where playlist.name = '$map.title' INTO @playlistId;"+
"INSERT INTO playlist_has_media(`idMedia`,`order`,`idPlaylist`)VALUES(1,1,@playlistId),(2,2,@playlistId),(3,3,@playlistId);"+
"INSERT INTO schedule(`name`,`startDate`,`endDate`,`idPlaylist`,`isSync`)VALUES('$map.title', '$map.start', '$map.end', @playlistId, 1);"+
"COMMIT;"
)
}
Он показал мне ошибку, но я скопировал из напечатанного кода SQL для MySQL Workbench для запуска. Это сработало.
Можете ли вы опубликовать ошибку? – Parth
Вы передаете строки, предоставленные пользователем, в sql-запросах? это имеет большой потенциал для SQL-инъекций. – cfrick