我想在Two column的组合中添加唯一查询。我正在使用此查询,但这不能使Unique查询。请帮助任何帮助将不胜感激。
updateSQL = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS NewsData (id INTEGER PRIMARY KEY AUTOINCREMENT,NewsId TEXT ,NewsValue TEXT,Title TEXT,Region INTEGER)"];
update_stmt = [updateSQL UTF8String];
sqlite3_prepare_v2(database, update_stmt, -1, &addStatement, NULL);
sqlite3_step(addStatement);
sqlite3_reset(addStatement);
updateSQL = [NSString stringWithFormat:@"ALTER TABLE NewsData ADD UNIQUE (NewsId, Region)"];
update_stmt = [updateSQL UTF8String];
sqlite3_prepare_v2(database, update_stmt, -1, &addStatement, NULL);
sqlite3_step(addStatement);
sqlite3_reset(addStatement);
最佳答案
SQLite对ALTER TABLE
的支持非常有限;它支持的唯一更改是ADD COLUMN
和RENAME
。
要执行更高级的更改,您将需要使用新架构创建新表,执行INSERT INTO new_table SELECT * FROM old_table;
复制数据,删除旧表,然后将新表重命名为旧名称。
尽管在这种情况下,您也可以使用CREATE UNIQUE INDEX
命令添加唯一索引。
关于ios - 表不可更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33254459/