VARCHARサイズを最大値(またはそれより低い重要な値)に変更する必要があります。
DELIMITER //
CREATE PROCEDURE deleteObjectTypes(IN p_type VARCHAR(65535))
BEGIN
SET @query = CONCAT ('DELETE FROM object WHERE Type NOT IN (',p_type,')');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END //
DELIMITER ;
ただし、マルチバイト文字セットを使用する場合は、制限が低くなることに注意してください。
VARCHAR(21844) CHARACTER SET utf8
ご覧のとおり、こちら 。