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 的程式碼不需要逸出識別符。這適用於使用集合和使用關聯式表格。