Я запускаю сценарій, щоб вставити деякі дані в базу даних MySQL, і він працює належним чином у робочому середовищі MySQL. Однак, коли я намагаюся запустити його з Java через JDBC, я отримую помилку.
INSERT INTO `pa_record` (`username`, `pa_record_type`, `record_time`) VALUES (?, ?, CURRENT_TIMESTAMP);
SET @record_id := 1;
INSERT INTO `pa_crud` (`pa_record_id`, `table_name`) VALUES (@record_id, ?);
Помилка, яку я отримую від JDBC
У вашому синтаксисі SQL є помилка; перевірте посібник, який відповідає вашій версії MySQL-сервера для правильного використання синтаксису біля "SET @record_id: = 1; INSERT INTO
pa_crud
(pa_record_id
,table_name
) VALUES "у рядку 2
Будь-які ідеї?
Відповіді:
1 для відповіді № 1Багато (більшість?) Бібліотек доступу до бази даних не дозволяють виконувати декілька операцій в одному виконанні; ті, які роблять, зазвичай повинні мати функцію, активовану зі зміною налаштування. Вона, ймовірно, не скаржиться на SET, але що ви взагалі мали щось після закінчення першого запиту.