簡體   English   中英

我不認為我的表是在 SQLite 中創建的

[英]I dont think my tables are being created in SQLite

我正在嘗試使用 python 將表創建到 SQLite3 中......讓我知道我在這里做錯了什么,因為沒有任何東西保存到我的數據庫中......

def create_user_table():
    connection = sqlite3.connect("C:\\Users\erte\Desktop\Python\Valorank.db")
    c = connection.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS users
                (Username TEXT PRIMARY KEY,Password TEXT NOT NULL, RiotID TEXT)''')
    c.execute('''CREATE TABLE IF NOT EXISTS RANK
                (Userid TEXT PRIMARY KEY, CurrentMMR INTEGER NOT NULL, FOREIGN KEY (Userid) REFERENCES users (Username))''')
    connection.commit()
    connection.close()
    print("table created")

create_user_table()

我沒有收到任何錯誤消息我確實收到了表已創建消息謝謝你

你的代碼是正確的。 我懷疑您驗證它的方式不正確。

打開您的數據庫並運行.schema以查看所有表。

這是我如何驗證您的代碼的示例:

>>> import sqlite3
>>> def create_user_table():
...     connection = sqlite3.connect("test.db")
...     c = connection.cursor()
...     c.execute('''CREATE TABLE IF NOT EXISTS users
...                 (Username TEXT PRIMARY KEY,Password TEXT NOT NULL, RiotID TEXT)''')
...     c.execute('''CREATE TABLE IF NOT EXISTS RANK
...                 (Userid TEXT PRIMARY KEY, CurrentMMR INTEGER NOT NULL, FOREIGN KEY (Userid) REFERENCES users (Username))''')
...     connection.commit()
...     connection.close()
...     print("table created")
... 
>>> create_user_table()
table created
>>> 
>>> import os
>>> os.system("sqlite3 test.db .schema")
CREATE TABLE users
                (Username TEXT PRIMARY KEY,Password TEXT NOT NULL, RiotID TEXT);
CREATE TABLE RANK
                (Userid TEXT PRIMARY KEY, CurrentMMR INTEGER NOT NULL, FOREIGN KEY (Userid) REFERENCES users (Username));
0
>>> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM