sqlite3 псевдоним строки не создается должным образом - PullRequest
0 голосов
/ 20 ноября 2010

Согласно документации sqlite3 , при создании таблицы, в которой первичный ключ представляет собой восходящее целое число, первичный ключ является псевдонимом для rowID.Это не происходит для меня.

Вот мой код создания:

import sqlite3
con = sqlite3.connect("/tmp/emaildb.sqlite3")
c = con.cursor()
try:
    c.execute("create table drives (driveid integer primary key asc, drivename text unique);")
    con.commit()
except sqlite3.OperationalError:
    pass

Вот мой проверочный код:

try:
    c.execute("insert into drives (drivename) values (?)",(drivename,))
    print "new ID=",c.lastrowid
except sqlite3.IntegrityError:
    c.execute("select rowid from drives where drivename=?",(drivename,))
    driveid = c.fetchone()[0]
    print "old ID=",driveid

Это работает, если я select rowid но не если я select driveid.

Что не так?

1 Ответ

1 голос
/ 20 ноября 2010

http://www.sqlite.org/autoinc.html

Я не знаком с директивой asc в вашей таблице создания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...