优先使用数据库驱动的参数化查询而非手动转义,因手动转义易漏边界情况、破坏预编译逻辑并引发SQL注入;仅在动态DDL等极少数场景下按具体方言(MySQL/PostgreSQL/SQLite)定制转义策略。

SQL字符串转义为什么不能只靠std::string::replace
直接遍历替换单引号、反斜杠等字符看似简单,但容易漏掉边界情况:比如'要变成''(SQL Server)或'(MySQL启用NO_BACKSLASH_ESCAPES时无效),而