SQLite3 创建 Table 意外的“(”错误
SQLite3 Create Table Unexpected "(" Error
设置
Ubuntu 18.04 Google VM
Objective
我正在尝试创建一个 for 循环以根据我的客户列表创建多个 tables
问题
如果我 运行
我可以创建一个 table 就好了
user@sql-server:~$ sqlite3 mydatabase.db
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> create table client (Date integer, cheese integer, id1 integer, id2 integer, id3 integer, id4 integer, id5 integer, id6 integer, id7 integer, id8 integer, id9 integer, id10 integer, id11 integer, id12 integer, id13 integer, id14 integer, id15 integer, id16 integer, id17 integer, id18 integer, id19 integer, id20 integer);
sqlite> .tables
client test
但是当我尝试创建如下脚本时 "test.sh":
#!/bin/bash
set -eu
sqlite3 adloox.db create table test2 (test2 string, testno2 integer);
exit
我收到以下错误:
user@sql-server:~$ sh -x test.sh
+ set -eu
test.sh: 5: test.sh: Syntax error: "(" unexpected
我可以看到我是否输入 sqlite3 adloox.db .tables
我可以从终端得到响应,所以我相信我需要在一行中使用它,而不是在我的脚本中跨多行,因为它会请求手动输入。但是我发现我得到的错误与“(”有关很奇怪,因为我看不出有什么区别。有人可以确认我在脚本中所做的与手册中的不同之处吗?输入?我尝试用谷歌搜索答案,但我发现的所有内容都指向手动输入。感谢对此的任何帮助。
只需在您的 sqlite3 命令周围添加引号即可:
sqlite3 adloox.db 'create table test2 (test2 string, testno2 integer);'
设置
Ubuntu 18.04 Google VM
Objective
我正在尝试创建一个 for 循环以根据我的客户列表创建多个 tables
问题
如果我 运行
我可以创建一个 table 就好了user@sql-server:~$ sqlite3 mydatabase.db
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> create table client (Date integer, cheese integer, id1 integer, id2 integer, id3 integer, id4 integer, id5 integer, id6 integer, id7 integer, id8 integer, id9 integer, id10 integer, id11 integer, id12 integer, id13 integer, id14 integer, id15 integer, id16 integer, id17 integer, id18 integer, id19 integer, id20 integer);
sqlite> .tables
client test
但是当我尝试创建如下脚本时 "test.sh":
#!/bin/bash
set -eu
sqlite3 adloox.db create table test2 (test2 string, testno2 integer);
exit
我收到以下错误:
user@sql-server:~$ sh -x test.sh
+ set -eu
test.sh: 5: test.sh: Syntax error: "(" unexpected
我可以看到我是否输入 sqlite3 adloox.db .tables
我可以从终端得到响应,所以我相信我需要在一行中使用它,而不是在我的脚本中跨多行,因为它会请求手动输入。但是我发现我得到的错误与“(”有关很奇怪,因为我看不出有什么区别。有人可以确认我在脚本中所做的与手册中的不同之处吗?输入?我尝试用谷歌搜索答案,但我发现的所有内容都指向手动输入。感谢对此的任何帮助。
只需在您的 sqlite3 命令周围添加引号即可:
sqlite3 adloox.db 'create table test2 (test2 string, testno2 integer);'