当前位置: 首页 > 面试题库 >

简单的SQL Lite表/导入问题

郑胡媚
2023-03-14
问题内容

我有一个简单的SQL问题。我想建立一个三列数据库,并且我有以下代码:

sqlite3 meshdb.db "create table t1 (t1key INTEGER PRIMARY KEY, prideID, pubmedID);"

当我尝试导入具有两列(prideID和pubmedID)的简单csv文件时,出现“预期3列数据,但发现2”错误。我希望t1key是一个整数,并在添加新字段时自动计数。我是否必须在主键前放置NOT NULL才能使其正常工作?


问题答案:

.import不支持重塑输入(设置分隔符除外)。您需要将CSV文件导入到临时表中,然后将其插入到真实表中。这是一个示例会话:

$ cat a.csv 
1,2
3,4
5,6
$ sqlite3 a.db
SQLite version 3.6.23.1
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table foo(id integer primary key,x,y);
sqlite> create temp table footmp(x,y);
sqlite> .separator ,
sqlite> .import a.csv footmp
sqlite> select * from footmp;
1,2
3,4
5,6
sqlite> insert into foo(x,y) select * from footmp; 
sqlite> select * from foo; 
1,1,2
2,3,4
3,5,6
sqlite> drop table footmp; 

您会看到ID已递增。这是因为类型为INTEGER PRIMARY KEY的列被视为内部ROWID的别名-内部ROWID始终是唯一的,升序的数字。



 类似资料:
  • 本文向大家介绍AngularJS中的表单简单入门,包括了AngularJS中的表单简单入门的使用技巧和注意事项,需要的朋友参考一下 AngularJS 表单 AngularJS 表单是输入控件的集合。 HTML 控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 textarea 元素 HTML 表单 HTML 表单通常与 HT

  • 问题内容: 我想将代码放在不同的类中,并将它们放入不同的文件中。但是这些类是相互依赖的。 main.py: lib / _ 初始化 _.py: lib / a.py: lib / b.py: 是否可以在Python中做到这一点? 编辑: 我收到此错误消息: 问题答案: 您可以在hello函数中导入其他模块,而不必在顶部导入模块。

  • 我想在我的项目中使用Json simple,但我无法让它工作。我试过版本1.1.0、3.1.0、3.1.3、4.0.0,每次我导入com。github。cliftonlabs。json_简单。JsonException;我有一个错误,无法解析符号“JsonException”,我使用InteliJ,每次我尝试一个版本时都会转到文件

  • 有人知道如何用Rails引导(SCSS)以简单的形式将CSS样式放在标签上吗? 谢谢。

  • 本文向大家介绍Android Studio中导入module的方法(简单版),包括了Android Studio中导入module的方法(简单版)的使用技巧和注意事项,需要的朋友参考一下 1.把要导入成Mudle的项目修改成符合Library的格式  修改该项目中bulid.gradle文件中第一行代码 把 修改为 然后,修改AndroidManifiest.xml文件中配置信息,此处主要是把原来

  • 问题内容: 在mysql中,当它是自动递增时,如何获取用于插入操作的主键。 基本上,我希望在语句完成时返回新的自动增量值。 谢谢! 问题答案: 您的澄清评论说,您有兴趣确保在发生另一个并发INSERT时LAST_INSERT_ID()不会给出错误的结果。请放心,无论其他并行活动如何,使用LAST_INSERT_ID()都是安全的。LAST_INSERT_ID()仅返回当前会话期间生成的最新ID。