简体   繁体   中英

sqlite3.OperationalError: near ":59": syntax error

I'm trying to update my database. I want to change None to time and while I'm running it

sqlite3.OperationalError: near ":59": syntax error

my code to update is :

    now = datetime.now()
    trigger_time = str(now.strftime("%H:%M"))
    db.execute(f"""Update Signals set Triger_Time = {trigger_time} where ID = {int(signal_id)}""")

SOLVED BY ( https://stackoverflow.com/a/69661333/16613629 )

Answer : You forget about quotes around Triger_Time:

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute(f"""Update Signals set Triger_Time = '{trigger_time}' where ID = {int(signal_id)}""")

You forget about quotes around Triger_Time:

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute(f"""Update Signals set Triger_Time = '{trigger_time}' where ID = {int(signal_id)}""")

Although the accepted answer of adding quotation marks will solve your immediate issue, it's generally preferred to use parameterized queries rather than string formatting to build SQL code.

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute("Update Signals set Triger_Time = ? where ID = ?", [trigger_time, int(signal_id)])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM