我试图用FMDB删除从人柱姓氏,如何使用FMDB删除特定表格的列?
let query = "ALTER TABLE Persons DROP COLUMN last_name;"
try FMDBHelper.database.executeUpdate(query, values: nil)
但带有错误
DB Error: 1 "near "DROP": syntax error".
我试图用FMDB删除从人柱姓氏,如何使用FMDB删除特定表格的列?
let query = "ALTER TABLE Persons DROP COLUMN last_name;"
try FMDBHelper.database.executeUpdate(query, values: nil)
但带有错误
DB Error: 1 "near "DROP": syntax error".
SQLite不支持DROP列ALTER TABLE。
您只能重命名表格并添加列。
如果您需要删除列,请创建一个新表,在那里复制数据,删除旧表并将表重命名为其名称。
请注意,我举报过你的问题可以被复制,我会提供一个答案,使之更加清晰。
我认为你是缺少一个点,那就是:在FMDB是(作为其回购的描述中提到):
This is an Objective-C wrapper around SQLite
请记住,因为FMDB是建立在SQLite的顶部,它是而不是从库本身的限制;它与SQLiteALTER TABLE
的工作方式有关。
的SQLite ALTER TABLE
声明仅限于重命名一张桌子和add
一个新列到所需的表:
SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table.
http://www.sqlite.org/lang_altertable.html
为了实现你在寻找:
您可以查看Delete column from SQLite table的回答。
[如何删除或添加列在SQLITE中?](https://stackoverflow.com/questions/8442147/how-to-delete-or-add-column-in-sqlite) –
@AhmadF FYI我正在尝试SWIFT-FMDB。 – Amit