Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将表名设置为web数据库的变量?_Javascript_Sql_Database_Html - Fatal编程技术网

Javascript 是否将表名设置为web数据库的变量?

Javascript 是否将表名设置为web数据库的变量?,javascript,sql,database,html,Javascript,Sql,Database,Html,我正在编写一个函数,它将位于一个外部文件中,该文件在web数据库中创建表。这一切都是通过Javascript和HTML5本地数据库完成的。我想传入一个变量来生成表名,如下所示: mydb.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS **?** (id INTEGER PRIMARY KEY, name TEXT)', [**DB_Table**]); }); 但是要知道,问号只能用来代替,有没有办

我正在编写一个函数,它将位于一个外部文件中,该文件在web数据库中创建表。这一切都是通过Javascript和HTML5本地数据库完成的。我想传入一个变量来生成表名,如下所示:

mydb.transaction(function(tx) {
  tx.executeSql('CREATE TABLE IF NOT EXISTS **?** (id INTEGER PRIMARY KEY, name TEXT)', [**DB_Table**]);
});

但是要知道,问号只能用来代替,有没有办法解决这个问题?

没有,没有办法参数化模式名称。如果确实需要允许动态名称,则必须手动将它们编码为模式名称文本

模式名称文字的ANSI SQL格式是用双引号将它们括起来,并用双引号替换字符串中的任何双引号字符

var txlit= '"'+tc.replace(/"/g, '""')+'"';
query= 'CREATE TABLE IF NOT EXISTS '+txlit+' (id INTEGER ...)';

不,无法参数化架构名称。如果确实需要允许动态名称,则必须手动将它们编码为模式名称文本

模式名称文字的ANSI SQL格式是用双引号将它们括起来,并用双引号替换字符串中的任何双引号字符

var txlit= '"'+tc.replace(/"/g, '""')+'"';
query= 'CREATE TABLE IF NOT EXISTS '+txlit+' (id INTEGER ...)';

sql参数的限制有一些原因

但我认为您正面临元编程问题,所以请查看

有了,它不会强迫你只使用它。它只是一种用于任何目的的字符串模板语言


不幸的是,我们不支持JavaScript,但我认为它的设计理念仍然值得了解。

好吧,sql参数的限制有一些原因

但我认为您正面临元编程问题,所以请查看

有了,它不会强迫你只使用它。它只是一种用于任何目的的字符串模板语言

不幸的是,我们不支持JavaScript,但我认为它的设计理念仍然值得了解