我试图使用此代码:
String message = "this is david's house";
String sql = "INSERT into " + TABLE + "(message) VALUES ('" + message + "')";
db.execSQL(sql);
db.close();
为了将字符串插入db,但得到此异常:
01-27 14:52:01.083: E/Database(727): Failure 1 (near "id": syntax error) on 0x12a038 when preparing 'INSERT into calls_table (message) VALUES ('this is david's house')'.
如何让SQLite获取逗号?
答案 0 :(得分:4)
您必须正确逃避'
:
String message = "this is david''s house";
或者,如果sqlite支持它(我不知道),参数化查询会更好。
只是提到它:'
不是逗号,它是apostrophe(至少我认为这是正确的名称,我经常混淆名称那个)。
答案 1 :(得分:1)
通过提供另一个撇号来逃避它。
String message = "this is david''s house";
String sql = "INSERT into " + TABLE + "(message) VALUES ('" + message + "')";
db.execSQL(sql);
db.close();
答案 2 :(得分:0)
SQL标准指定通过在行中放入两个单引号来转义字符串中的单引号 http://www.sqlite.org/faq.html#q14