将 MSSQL 准备好的语句迁移到 MariaDB
Posted
技术标签:
【中文标题】将 MSSQL 准备好的语句迁移到 MariaDB【英文标题】:Migrate MSSQL prepared statement to MariaDB 【发布时间】:2021-11-19 05:51:15 【问题描述】:我在下面的 MSSQL 中有以下准备好的语句代码示例:
const db = require('../database.js');
module.exports =
getUserName: async name => db(async pool =>
await pool.request()
.input('name', dataTypes.VarChar, name)
.query(`SELECT * FROM person WHERE name = @name;`))
;
我一直在查看 MariaDB 文档和在线资源,但找不到合适的文档并弄明白。是否可以在 MariaDB 中创建准备好的语句?或者任何等同于 MariaDB 的?
【问题讨论】:
您使用哪个连接器或驱动程序连接到数据库?如果您想要一个简单的选项,MariaDB NodeJS connector 可能是一个选项。 【参考方案1】:我的 node.js 知识有限,但我怀疑它:
const db = require('../database.js');
module.exports =
getUserName: async name => db(async pool =>
await pool.request()
.query('SELECT * FROM person WHERE name = ?', name))
;
Prepared 语句是 MariaDB 的原生部分。 参考:基于this等其他答案。
使用准备好的语句比在 nodejs 文档中常见的所有显式转义要好。
【讨论】:
以上是关于将 MSSQL 准备好的语句迁移到 MariaDB的主要内容,如果未能解决你的问题,请参考以下文章
mssql-jdbc MS SQL Server JDBC 驱动程序准备好的语句缓存性能问题与 Hikari CP
是否可以在没有准备好的语句(Node.js 和 MSSQL)的情况下防止 SQL 注入