/ / Защо не мога да поставя променлива в подготвен оператор в MySQL? - java, mysql, jdbc, подготвено изявление

Защо не мога да задам променлива в подготвено изявление в MySQL? - java, mysql, jdbc, подготвено изявление

Аз стартирам скрипт, за да вмъкна някои данни в MySQL база данни, и той работи правилно в MySQL работното място.

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) СТОЙНОСТИ в ред 2

Някакви идеи?

Отговори:

1 за отговор № 1

Много (най-много?) Библиотеки за достъп до бази данни не позволяват множество изявления в едно изпълнение; тези, които го правят, обикновено трябва да имат активирана функция с промяна на настройката. Вероятно няма да се оплаква от SET, но въобще имате нещо след края на първото запитване.