Если ваши данные имеют тип varchar
и вы используете CONCAT
для построения запроса, тогда он не будет работать с одинарными кавычками, как вы уже видели, когда делаете
set @inser = CONCAT('INSERT INTO activity8',' (ActivityType,ActivityChapter,ActivitySubject,ActivityClass,Student) VALUES (',Type,',',Chapter,',',Subject,',',Class,',',Student,')');
когда вы делаете CALL Scorer('d',2,5,7,38);
это означает, что ваш запрос
@inser = INSERT INTO activity8 (ActivityType,ActivityChapter,ActivitySubject,ActivityClass,Student) VALUES
(d,2,5,7,38)
это то, что ваш запрос здесь ваше varchar
значение типа d
без кавычек
поэтому одна цитата потребляется самой CONCAT
когда вы подготовите заявление
prepare stmt from @inser;
execute stmt ;
ваше varchar
значение 'd'
будет без кавычек
, поэтому вы должны поставить varchar paramter
вот так "'d'" or '"d"'
одна цитата для concat
и другая для самого запроса