Das ist mein Programm. Es sagt mir genau, wo der der Syntaxfehler ist, aber ich habe buchstäblich keine Ahnung, was das Problem ist:Syntaxfehler kann ich nicht herausfinden? python3
import sqlite3
def create_table(dbName, table_name, sql):
with sqlite3.connect("ATM.db") as db:
cursor = db.cursor()
cursor.execute("select name from sqlite_master where name=?",(table_name,))
result = cursor.fetchall()
keep_table = True
if len(result) == 1:
response = input("The table{0} already exists, do you wish to recreate? (y/n) \n".format(table_name))
if response.lower() == "y":
keep_table = False
print("the {0} table will be recreated".format(table_name))
cursor.execute("drop table if exists {0}".format(table_name))
db.commit()
insert_data()
else:
print("The existing table was kept")
insert_data()
else:
keep_table = False
if not keep_table:
>>>>>> cursor.execute(sql) #Problem is supposedly here?
db.commit()
insert_data()
def insert_data():
with sqlite3.connect("ATM.db") as db:
cursor = db.cursor()
sql = """insert into ATM(Title, First Name, Surname, Balance) values (Mr., Jeremy, Clarkson, 172.16),
(Miss, Suzanne, Perry, 15.62)"""
cursor.execute(sql, values)
db.commit()
dbName = "ATM.db"
sql = """ create table ATM
(CustomerID integer,
Title text
First Name text,
Surname text,
Balance real,
CustomerID(CustomerID))"""
create_table(dbName, "ATM", sql)
Dies ist die Syntaxfehlermeldung Ich erhalte. Ich habe in den Code setzen Pfeile, die hervorhebt, wo sie den Hinweis auf:
line 23, in create_table
cursor.execute(sql)
sqlite3.OperationalError: near "(": syntax error
Ich bekomme immer noch die gleiche Syntaxfehler, erkannte ich meinen Fehler in dieser Abfrage und änderte es bereits! Ich habe es sogar getestet, indem ich die ganze Einfügedatenfunktion lösche, und ich habe immer noch den gleichen Syntaxfehler, der auf cursor.execute (sql) zeigt sqlite3.OperationalError: nahe "(": Syntaxfehler –
Got it-edited und behoben. –
Vielen Dank für Ihre Hilfe! Einen schönen Tag noch! –