Bonjour à tous,
J'ai besoin de vos lumières.
J'utilise le SQlite sous Python (pysqlite).
Tout marche, sauf un truc: je n'arrive pas à utiliser l'option "IF NOT EXISTS"
Je lance un script, et je veux écrire la table si elle n'existe pas. Et sinon rien.
Comme expliqué dans la doc, y'a l'option "IF NOT EXISTS" :
http://www.sqlite.org/lang_createtable.html
CREATE [TEMP | TEMPORARY] TABLE [IF NOT EXISTS] [database-name .] table-name (
column-def [, column-def]*
[, constraint]*
)
Mais dans mon script, ça ne marche pas.
Code :
- from pysqlite2 import dbapi2 as sqlite
- con = sqlite.connect('database.db', isolation_level=None)
- cur = con.cursor()
- cur.execute("""CREATE TABLE IF NOT EXISTS table1 (id VARCHAR(20) PRIMARY KEY, fruit VARCHAR(30));""" )
|
Ca coince:
Traceback (most recent call last):
File "ifnot.py", line 4, in ?
cur.execute("""CREATE TABLE IF NOT EXISTS table1 (id VARCHAR(20) PRIMARY KEY, fruit VARCHAR(30));""" )
pysqlite2.dbapi2.OperationalError: near "NOT": syntax error
Code :
- from pysqlite2 import dbapi2 as sqlite
- con = sqlite.connect('database.db', isolation_level=None)
- cur = con.cursor()
- cur.execute("""CREATE TABLE table1 (id VARCHAR(20) PRIMARY KEY, fruit VARCHAR(30));""" )
|
Et sans le "IF NOT EXISTS", ça passe sans problème.
Google ne me donne rien.
Message édité par Rasthor le 07-03-2007 à 13:53:56