亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何查找并修復代碼中的近“(”:語法錯誤

如何查找并修復代碼中的近“(”:語法錯誤

偶然的你 2023-07-27 15:53:48
這里的用戶id是從用戶的消息中傳遞過來的@bot.message_handler(commands = ['create'])def create_the_base(message):    bot.send_message(message.chat.id, 'Создание базы....')    base_create_text = message.chat.id     base_create_final = base_create(user_id = base_create_text)    base_create_final.base_create_process()下面是使用的類class base_create:def __init__(self,user_id):    """Обозначение переменной user_id для дальнейшего использования"""    self.user_id = user_iddef base_create_process(self):    """Создание базы с именем user_id"""    base_name_by_id=str(self.user_id)    db_connect=sqlite3.connect(base_name_by_id)    cursor=db_connect.cursor()    cursor.execute("""CREATE TABLE (base_name_by_id) ("Name" TEXT, "Day"    TEXT, "Month" TEXT, "Year" TEXT) """)    db_connect.commit()此代碼應使用用戶 ID 的名稱創建一個數據庫,以便每個用戶都可以使用自己的 ID 訪問其數據庫。啟動時create_the_base(message)返回錯誤 [near "(": 語法錯誤] 錯誤是什么? 在我看來,錯誤顯然不在create_the_base中,而是在創建數據庫時的類中。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您至少應該獲得指向有問題的代碼行的堆棧跟蹤。

我認為問題在于表名CREATE TABLE不應該加括號:

    cursor.execute("""CREATE TABLE base_name_by_id ("Name" TEXT, "Day"    TEXT, "Month" TEXT, "Year" TEXT) """)

SQLite3 作為一個針對大小進行了優化的嵌入式數據庫,不太擅長提供可讀的錯誤消息。


查看完整回答
反對 回復 2023-07-27
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

模式名稱不需要括號。

這是工作 SQL:

CREATE?TABLE?base_name_by_id?("Name"?TEXT,?"Day"?TEXT,?"Month"?TEXT,?"Year"?TEXT)

如果您想動態生成該 SQL 命令,請考慮使用fstring來執行此操作:

create_table_command?=?f'CREATE?TABLE?{base_name_by_id}?("Name"?TEXT,?"Day"?TEXT,?"Month"?TEXT,?"Year"?TEXT)'
cursor.execute(create_table_command)


查看完整回答
反對 回復 2023-07-27
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號