Ниже представлены две хранимые процедуры для сервера сообщества MySQL версии 8.0.11. Я видел несколько хранимых процедур, написанных первым способом с использованием обратной кавычки: `, символа в списке параметров и оператора запроса. Тем не менее, я также видел запросы, написанные как второй, где нет символов обратной кавычки.
Каким способом лучше всего следовать? Это какие-то различия в безопасности? Если в хранимых процедурах используется символ обратной кавычки, являются ли они более уязвимыми для атак SQL-инъекций?
CREATE PROCEDURE `procedure`(IN `in_data` VARCHAR(100))
BEGIN
SELECT COUNT(*) FROM `table_name` WHERE `data` = `in_data`;
END
Или:
CREATE PROCEDURE `procedure`(IN in_data VARCHAR(100))
BEGIN
SELECT COUNT(*) FROM table_name WHERE data = in_data;
END
Надеюсь, я прояснил это достаточно, спасибо за ваше время.