PDF(美国Ltr)-130亿
PDF(A4)-130亿
HTML下载(TGZ)-0.9兆
HTML下载(Zip)-1.0兆
存在用于转义SQL名称和标识符的引号函数。Session.quoteName()
根据当前连接的设置转义给定的标识符。
注意
引号函数不能用于转义值。使用的值绑定语法Session.sql()
相反看见第2.4节,“在会话中使用SQL”例如。
MySQL Shell JavaScript代码
函数createTestTable(session,name){//使用escape函数引用names/identifier quoted\u name=session.quoteName(name);session.sql(“DROP TABLE IF EXISTS”+quoted_name).execute();var create=“创建表”;create+=引用的名称;create+=“(id INT NOT NULL主键自动递增)”;session.sql(create.execute();return session.getCurrentSchema().getTable(名称);}var mysqlx=require('mysqlx');var session=mysqlx.getSession('用户:密码@localhost:33060/test');var default_schema=session.getDefaultSchema().name;session.setCurrentSchema(默认模式);//创建一些表var table1=createTestTable(会话“test1”);var table2=createTestTable(会话,“test2”);
MySQL Shell Python代码
def createTestTable(会话,名称):#使用转义函数引用名称/标识符quoted_name=session.quote_name(name)session.sql(“DROP TABLE IF EXISTS”+quoted_name).execute()create=“create TABLE”create+=quoted_name create+=”(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT)“session.sql(create).execute()返回session.get_current_schema().get_TABLE(name)frommysqlsh import mysqlx session=mysqlx.get\u session('用户:密码@localhost:33060/test')default_schema=session.get_default_schema().name session.set_current_schema(default_schema)#创建一些表table1=createTestTable(session,'test1')table2=createTestTable(session,'test2')
Node.js JavaScript代码
var mysqlx=require('mysqlx');函数createTestTable(session,name){var create='创建表';创建+=名称;create+='(id INT NOT NULL主键自动递增)';return session.sql('DROP TABLE IF EXISTS'+name).execute().then(function(){return session.sql(create).execute();});}var会话;getSession({user:'user',password:'password'});return session.sql('use myschema').execute()}).then(function(){//创建一些表return Promise.map([createTestTable(session,'test1'),createTestTable(session,'test2')]))}).then(function(){session.close();})});
C代码
var session=MySQLX.GetSession(“服务器=localhost;端口=33060;user=用户;密码=密码;"); SQL(“use test;”)。执行();session.GetSchema(“test”);//创建一些表var table1=CreateTestTable(会话,“test1”);var table2=CreateTestTable(会话,“test2”);
private Table CreateTestTable(Session Session,string name){//使用escape函数引用name/identifier string quoted\u name=“`”+name+“`”;session.SQL(“DROP TABLE IF EXISTS”+quoted_name).Execute();var create=“创建表”;create+=引用的名称;create+=“(id INT NOT NULL主键自动递增)”;session.SQL(create.Execute();return session.Schema.GetTable(名称);}
Python代码
#连接器/Python def createTestTable(会话,名称):#使用转义函数引用名称/标识符quoted_name=session.quote_name(name)session.sql(“DROP TABLE IF EXISTS”+quoted_name).execute()create=“create TABLE”create+=quoted_name create+=”(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT)“session.sql(create).execute()返回session.get_current_schema().get_TABLE(name)frommysqlsh import mysqlx session=mysqlx.get\u session('用户:密码@localhost:33060/test')default_schema=session.get_default_schema().name session.set_current_schema(default_schema)#创建一些表table1=createTestTable(session,'test1')table2=createTestTable(session,'test2')
Java代码
Java当前不支持quoteName()方法。
C++代码
#include//注意:以下功能尚未由//Connector/C++实现://-datasource配置文件,//-quoteName()方法。Table createTestTable(Session&Session,const string&name){string quoted\u name=string(“`”)+Session.getDefaultSchemaName()+L“`.`”+name+L“`”;session.sql(string(“DROP TABLE IF EXISTS”)+带引号的\u name).execute();string create=“创建表”;create+=引用的名称;create+=L“(id INT NOT NULL主键自动递增)”;session.sql(create.execute();return session.getDefaultSchema().getTable(name);}会话(33060,“用户”、“密码”);table1=createTestTable(会话,“test1”);table2=createTestTable(会话,“test2”);
使用X DevAPI的代码不需要转义标识符。这对于使用集合和关系表是正确的。