mysql - 在动态列名mysql中转义句号
问题描述
const newDb = "dbtest";
const columns = ["test.TABLE"];
for (var i = 0; i < columns.length; i++) {
const column = `${columns[i]}_new`;
console.log(require("mysql").format("SELECT * FROM ??.??",[newDb, column]));
}
如何使字符串成为?dbtest
. test.TABLE
而不是dbtest
. test
.table
如何保持. ?
mysql格式化程序分裂得很厉害,在仍然使用准备好的语句时这可能吗?
解决方案
如果用反引号分隔标识符,则可以在标识符中使用标点符号或其他符号:
SELECT * FROM `??`.`??`
我原以为字符串替换 node.js 确实应该已经处理了该分隔符。也许您需要告诉 node.js 您正在使用 MySQL 风格的 SQL?
就个人而言,我会避免用标点符号命名表格。或使用_
,因为不需要任何特殊处理。
推荐阅读
- excel - 根据 ID 突出显示具有不同值的单元格
- php - PHP 退出状态码是什么?
- pandas - 如何使用 to_sql() 将包含 pd.Period 的 pandas Dataframe 上传到数据库
- javascript - 如何在 2D 字符数组中查找单词并返回 JS 中未使用的字符?
- java - Java - 以编程方式检查文件名中的无效字符
- c# - 从强类型视图回发 DropDownList
- javascript - 如何使用 jQuery 启用/禁用嵌套复选框
- reactjs - 在反应上安装 quilljs-markdown
- c# - 文件夹哈希的增量更新
- amazon-web-services - AWS copilot 无法创建资源