import sqlite3
# set database variables
sqlite_db_filename = '/samba/anonymous/vacuum_control.sqlite'
table_name = 'user_recipe'
new_field_1 = 'recipe_id'
field_type_1 = 'INTEGER PRIMARY KEY'
new_field_2 = 'recipe_name'
field_type_2 = 'TEXT'
new_field_3 = 'use_vacuum'
field_type_3 = 'INTEGER'
# Connecting to the database file
conn = sqlite3.connect(sqlite_db_filename)
c = conn.cursor()
# Creating a new SQLite table with x columns
c.execute('CREATE TABLE {tn} ({nf1} {ft1} {nf2} {ft2})'\
.format(tn=table_name, nf1=new_field_1, ft1=field_type_1, nf2=new_field_2, ft2=field_type_2))
# Committing changes and closing the connection to the database file
conn.commit()
FRAGE
Der aktuelle Code erzeugt die FehlerSQLite Primärschlüssel erstellen Tabellenfehler
"Traceback (most recent call last):
File "data_base_config.py", line 20, in <module>
.format(tn=table_name, nf1=new_field_1, ft1=field_type_1, nf2=new_field_2, ft2=field_type_2))
sqlite3.OperationalError: near "recipe_name": syntax error"
Wenn ich field_type_1
ändern, um nur "INTEGER"
es funktioniert gut. Ich habe an vielen anderen Beispielen sieht und es scheint, gültig INTEGER PRIMARY KEY
SQLite Version 3.8.7.1
Dank
Dank für Ihre Hilfe danken –