В отличие от MySQL, в SQLite автоинкрементный первичный ключ должен задаваться следующим образом:
id INTEGER PRIMARY KEY AUTOINCREMENT
т.е. "INTEGER" целиком (а не INT), большими или маленькими буквами, и AUTOINCREMENT без "_" как в MySQL. Если написать как в MySQL, то поле вообще не становится ключевым, и если его пропускать в INSERT`ах, оно будет пустым, и никаких ошибок при этом возникать не будет. При этом роль ключа всё равно будет выполнять 64-битный псевдостолбец ROWID.
barbitoff programmer`s blog
Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)
Комментариев нет:
Отправить комментарий