Bạn cần thay đổi kích thước VARCHAR thành giá trị lớn nhất (hoặc giá trị quan trọng thấp hơn).
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 ;
Tuy nhiên, lưu ý rằng giới hạn sẽ thấp hơn nếu bạn sử dụng bộ ký tự nhiều byte:
VARCHAR(21844) CHARACTER SET utf8
Như đã thấy tại đây .