2015-01-04 2 views
0

Я получаю синтаксическую ошибку, когда мое приложение пытается создать таблицу sqlite.Ошибка синтаксиса при создании таблицы в SQLite

это код, который создает таблицу:

@Override 
public void onCreate(SQLiteDatabase db) { 
    String SQL = pictureTable(); 
    db.execSQL(SQL); 
} 

private String pictureTable() { 
    return "CREATE TABLE geophoto_db_pictures (picid integer," 
      + "name character varying(50)," 
      + "city character varying(20) NOT NULL DEFAULT 'Unknown'," 
      + "zipcode character varying(20) NOT NULL DEFAULT 'Unknown'," 
      + "country character varying(20) NOT NULL DEFAULT 'Unknown'," 
      + "picdate datetime NOT NULL DEFAULT DATETIME('now')," 
      + "tags character varying(200)," + "image BLOB NOT NULL," 
      + "uploaded integer NOT NULL DEFAULT 0, PRIMARY KEY (picid))"; 
} 

Ошибка является: android.database.sqlite.SQLiteException: рядом "(": ошибка sytax (код 1)

Любая помощь !. очень ценится

+0

Try «варьируя характер()» вместо «характер изменения()» –

+0

ошибка остается неизменным после изменения ее «той или иной характер» :( – ThomasS

+1

Ваша установка значения по умолчанию picdate неправильно. [SQLite значение по умолчанию базы данных времени 'теперь'] [1] [1]: http://stackoverflow.com/questions/200309/sqlite-database-default-time-value-now – ZakiMak

ответ

2

значения по умолчанию не могут использовать вызовы функций

Однако, вы можете использовать переменную `CURRENT_TIMESTAMP»:

CREATE TABLE 
    ... 
    picdate datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    ... 
+0

Большое спасибо: D – ThomasS

Смежные вопросы