Bạn không thể ký hiệu hóa một số nhận dạng (tên bảng hoặc tên trường) trong MySQL, tuy nhiên, bạn có thể thoát chúng bằng cách sử dụng dấu gạch ngược.
Truy vấn sau sẽ chạy an toàn nhưng tạo ra lỗi vì bảng không tồn tại (trừ khi do một cơ hội kỳ lạ nào đó bạn thực sự có một bảng có tên như thế này):
SELECT * FROM `users; DROP TABLE users;`;
Về cơ bản, bạn có thể sử dụng tên động hoặc trường miễn là chúng được đặt trong dấu gạch ngược. Để ngăn chặn việc đưa vào SQL theo cách này, trước tiên, tất cả những gì bạn cần làm là loại bỏ bất kỳ dấu nền nào:
tableName = tableName.Replace("`", "");
string commandText = "SELECT COUNT(*) FROM `" + tableName + "`";