SQlite 怎么在已经创建的表中插入一列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQlite 怎么在已经创建的表中插入一列相关的知识,希望对你有一定的参考价值。

参考技术A ALTER TABLE table-name ADD COLUMN column-name column-type
例如在student表中添加一列名为name,类型为varchar:
alter table student add column name varchar;本回答被提问者和网友采纳
参考技术B 你要是使用的继承SQLitopenHelpe这个类的话
直接在在onCreate()方法中把你要插入的列加载sql语句里面,在onUpgrade()方法中把原来的表删除 然后调用onCreate()方法就建好了你要的表了
参考技术C ALTER TABLE table-name
ADD COLUMN column-name column-type

没有这样的表Sqlite错误iOS

【中文标题】没有这样的表Sqlite错误iOS【英文标题】:No such table Sqlite error iOS 【发布时间】:2016-11-18 10:34:36 【问题描述】:

我正在 iOS 应用程序中使用 sqlite。我已成功创建登录和注册屏幕和表格。现在,我正在创建另一个表来保存数据。该表已创建,但是当我运行查询以插入值时,出现以下错误 --- “没有这样的表:proposalInfo”。有人可以帮我吗?

【问题讨论】:

很明显,表还没有创建。 编写您的代码如何制作表格以及制作表格的位置。 我已经通过终端创建了表。现在当我收到此错误时尝试在其中插入值。 我同意你的看法。但我无法在这些 cmets 中描述我的代码。你能建议一个替代品吗? 是的,我已经检查了这些要点并进行了处理。但错误仍然存​​在。 【参考方案1】:

如果您在终端上创建了数据库,那么问题很可能是您如何将您从终端访问的数据库获取到您的 iOS 设备上。通常你会将它包含在包中(并确保你有一个对适当目标的复选标记),然后你会有在“应用程序支持”目录中查找数据库的代码,如果找不到,复制它从捆绑到那里。 (注意,在过去,我们会推荐“Documents”文件夹,但现在它是用于面向用户的文件;我们现在使用“Application Support”目录来存放应用程序内部使用的文件。)典型的问题是简单的错误在那个逻辑中(可能在以前的开发迭代中),它未能正确复制它,然后调用sqlite3_open 创建空白数据库。

可能在此过程中的某个地方,错误检测/报告不足,因此未检测到某些错误并创建了空白数据库。所以,我会推荐:

从设备中删除应用程序(删除“应用程序支持”文件夹中的任何空白数据库,如果有的话);

仔细检查错误检测/报告(例如检查所有NSFileManager方法返回码和NSError对象);

不要使用sqlite3_open,而是使用sqlite3_open_v2,这样它就永远不会创建空白数据库(即,使用SQLITE_OPEN_READWRITE 选项,但不是 SQLITE_OPEN_CREATE);和

再次运行应用程序,看看您是否可以确定它在哪里出错了。


顺便说一句,如果您不相信我们的表确实从数据库中丢失,我建议您从 macOS SQLite 工具打开模拟器的数据库,然后简单地确认。所以

导航到模拟器的“Application Support”文件夹:

~/Library/Developer/CoreSimulator/Devices/[GUID]/data/Containers/Data/Application/[GUID]/Library/Application Support

在您的 SQLite 终端界面中打开该数据库,并确认相关表是否存在。

【讨论】:

【参考方案2】:

请使用 SQLite 浏览器创建表。您可以从here 下载哪个。 然后按照以下步骤进行

1) 通过点击打开您的项目数据库。

2) 创建表查询或使用 UI。

3) 随心所欲地执行查询。

【讨论】:

以上是关于SQlite 怎么在已经创建的表中插入一列的主要内容,如果未能解决你的问题,请参考以下文章

如何在hadoop环境中创建的表中插入多条记录

如何在tableview中显示sqlite3中 的表中的信息

在sqlite的表中插入新列?

在SQLserver 2000中的表中取出一列,显示在一个gridview中,当表中该列数值为1时显示一张图片,

想在mysql数据库中的表中插入一列,怎么做?

SQLite,在我的表中插入变量(c#控制台应用程序)