在SQLite中从.sql文件创建表

时间:2015-02-21 10:59:17

标签: mysql database sqlite

我刚刚开始使用SQLite并遇到了第一个错误。

我要做的是使用文本文件中的数据在我的数据库中创建一个表,但是我得到了这些错误:

Error: near line 4: no such column: ’Microsoft’
Error: near line 5: no such column: ‘Apple’
Error: near line 6: no such column: ‘Youtube’
Error: near line 7: no such column: ‘Facebook’

我的文本文件看起来像这样,我只是操作了以前创建的表:

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE stockprices (id integer primary key, price text);
INSERT INTO "stockprices" VALUES(22,’Microsoft’);
INSERT INTO "stockprices" VALUES(33,‘Apple’);
INSERT INTO "stockprices" VALUES(55, ‘Youtube’);
INSERT INTO "stockprices" VALUES(44, ‘Facebook’);
COMMIT;

我使用以下命令获得了这些错误:

.read ./Documents/sqlite3Files/stockprices.sql

我的印象是你可以从已经保存过的表中创建一个新表吗?

有关如何正确执行此操作的任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

您看到的错误是因为您用于字符串值的引用不是sqlite所期望的。您可以尝试使用" (ascii代码34)如下:

CREATE TABLE stockprices (id integer primary key, price text);
INSERT INTO "stockprices" VALUES(22,"Microsoft");
INSERT INTO "stockprices" VALUES(33,"Apple");
INSERT INTO "stockprices" VALUES(55,"Youtube");
INSERT INTO "stockprices" VALUES(44,"Facebook");

答案 1 :(得分:0)

在SQL中,必须使用单个ASCII引号(')引用字符串。 您的.sql文件包含印刷引号(),可能是因为某些文字处理器试图提供帮助。

将所有替换为'

(注意:双引号(")仅应用于表/列名称。)