作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在处理一些我们有 SQLDelight 数据库和 DBRevisionPhrase 表的项目:
CREATE TABLE DbRevisionPhrase (
userId TEXT NOT NULL,
phraseId TEXT NOT NULL,
vocabularyId TEXT NOT NULL,
isMissed INTEGER AS Boolean NOT NULL DEFAULT 0,
countAnswers INTEGER NOT NULL,
PRIMARY KEY (userId, phraseId, vocabularyId)
);
import com.baoui.db.ReviewType;
CREATE TABLE DbRevisionPhrase (
userId TEXT NOT NULL,
phraseId TEXT NOT NULL,
vocabularyId TEXT NOT NULL,
isMissed INTEGER AS Boolean NOT NULL DEFAULT 0,
countAnswers INTEGER NOT NULL,
type TEXT AS ReviewType,
PRIMARY KEY (userId, phraseId, vocabularyId, type)
);
ALTER TABLE DbRevisionPhrase ADD COLUMN type TEXT;
ALTER TABLE DbRevisionPhrase DELETE PRIMARY KEY;
ALTER TABLE DbRevisionPhrase ADD PRIMARY KEY (userId, phraseId, vocabularyId, type);
android.database.sqlite.SQLiteException: incomplete input (code 1 SQLITE_ERROR): , while compiling: ALTER TABLE DbRevisionPhrase
最佳答案
这对于 ALTER TABLE
来说是不可能的不幸的声明。您必须创建一个新表并迁移现有表。它看起来像这样:
CREATE TABLE DbRevisionPhrase_new(
...
);
INSERT INTO DbRevisionPhrase_new
SELECT * FROM DbRevisionPhrase;
DROP TABLE DbRevisionPhrase;
ALTER TABLE DbRevisionPhrase_new RENAME TO DbRevisionPhrase;
关于android - 如何在 SQLDelight 中更改表的主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61933362/
我是一名优秀的程序员,十分优秀!