X DevAPI 用户指南 / 第 2 章连接和会话概念 /
2.6 动态SQL
存在一个引用函数来转义 SQL 名称和标识符。
Session.quoteName()
根据当前连接的设置转义给出的标识符。
笔记
引用函数不得用于转义值。改为使用值绑定语法Session.sql()
;有关示例,请参见第 2.4 节“将 SQL 与会话一起使用”。
function createTestTable(session, name) {
// use escape function to quote names/identifier
quoted_name = session.quoteName(name);
session.sql("DROP TABLE IF EXISTS " + quoted_name).execute();
var create = "CREATE TABLE ";
create += quoted_name;
create += " (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT)";
session.sql(create).execute();
return session.getCurrentSchema().getTable(name);
}
var mysqlx = require('mysqlx');
var session = mysqlx.getSession('user:password@localhost:33060/test');
var default_schema = session.getDefaultSchema().name;
session.setCurrentSchema(default_schema);
// Creates some tables
var table1 = createTestTable(session, 'test1');
var table2 = createTestTable(session, 'test2');
使用 X DevAPI 的代码不需要转义标识符。这适用于处理集合和处理关系表。