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 怎么在已经创建的表中插入一列的主要内容,如果未能解决你的问题,请参考以下文章
如何在tableview中显示sqlite3中 的表中的信息