Android中的已准备语句-语法错误(代码1)
我遇到了一个SQLite语法异常,我似乎无法理解:Android中的已准备语句-语法错误(代码1),android,sql,Android,Sql,我遇到了一个SQLite语法异常,我似乎无法理解: Caused by: android.database.sqlite.SQLiteException: near "index": syntax error (code 1): , while compiling: INSERT OR REPLACE INTO messageAttachments(typeId,index,attachmentId,messageId) VALUES (?,?,?,?) 以下代码中会引发此异常: Messa
Caused by: android.database.sqlite.SQLiteException: near "index": syntax error (code 1): , while compiling: INSERT OR REPLACE INTO messageAttachments(typeId,index,attachmentId,messageId) VALUES (?,?,?,?)
以下代码中会引发此异常:
MessageAttachment attachment = message.attachments.get(i);
ContentValues messageAttachmentValues = new ContentValues();
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_ATTACHMENT_ID, attachment.getId());
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_MESSAGE_ID, message.id);
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_INDEX, i);
switch (attachment.getAttachmentType()) {
case text:
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_TYPE_ID, MESSAGE_ATTACHMENT_TYPES_TEXT_ID);
break;
case image:
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_TYPE_ID, MESSAGE_ATTACHMENT_TYPES_IMAGE_ID);
break;
case voice:
messageAttachmentValues.put(MESSAGE_ATTACHMENTS_TYPE_ID, MESSAGE_ATTACHMENT_TYPES_VOICE_ID);
break;
}
boolean attachmentSuccess = db.insertWithOnConflict(TABLE_MESSAGE_ATTACHMENTS, null, messageAttachmentValues, SQLiteDatabase.CONFLICT_REPLACE) != -1;
感谢您的帮助 索引是一个关键字。使用其他标识符
index
是保留字-您需要将其转义:…到messageAttachments(typeId,[index],attachmentId…
索引是sqlite中的保留关键字。请尝试使用其他列名。感谢帮助!索引是关键字。使用其他标识符索引是保留字-您需要将其转义:…转换为messageAttachments(typeId,[index],attachmentId…
索引是sqlite中的保留关键字。请尝试使用其他列名。感谢帮助!