Я новичок в хранимых процедурах в MySQL. Почему это начало моей хранимой процедуры ...MySQL: Неизвестный столбец в 'списке полей'
DROP PROCEDURE IF EXISTS videodb.addVideo;
CREATE PROCEDURE videodb.addVideo(vidTitle VARCHAR(255), vidDescription VARCHAR(500), producerArray VARCHAR(500), actorArray VARCHAR(500), OUT vidSuccess BOOL)
START TRANSACTION;
SET @videoInsertVar = 'INSERT INTO videodb.videos (id, title, description) VALUES(?, ?, ?)';
SET @videoId = NULL;
SET @videoTitle = vidTitle; -- this is line 69
... производит эту странную ошибку ...
ERROR 1054 (42S22) at line 69: Unknown column 'vidTitle' in 'field list'
Оберните в 'BEGIN'-'END', что сделает * body * одним утверждением. См. Http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html –
Вы правы. Первоначально у меня был «BEGIN ... END», но я неправильно истолковал документацию. Я подумал, что это означает, что вместо «BEGIN ... END» вместо «BEGIN ... END» следует использовать «START TRANSACTION», но теперь я понимаю: «Во всех хранимых программах (хранимых процедурах и функциях, триггерах и событиях) парсер рассматривает BEGIN [WORK ] как начало блока BEGIN ... END. Чтобы начать транзакцию в этом контексте, вместо этого используйте START TRANSACTION. " –
@ PM77-1 Если вы включите свой комментарий в ответ, я приму его. И спасибо за вашу помощь! –