Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不断获取sqlite错误后使用sqlite添加第二个表_Python_Database_Sqlite - Fatal编程技术网

Python 如何在不断获取sqlite错误后使用sqlite添加第二个表

Python 如何在不断获取sqlite错误后使用sqlite添加第二个表,python,database,sqlite,Python,Database,Sqlite,我正在尝试创建一个数据库来链接我正在制作的游戏,但我不断得到错误:sqlite3.OperationalError:near“/:syntax error。数据库可以很好地处理第一个表,但是当我添加第二个表时,它不会运行,并且会出现错误。有没有办法解决这个问题 以下是我创建数据库的方式: class CreateDB: def __init__(self): self.conn = sqlite3.connect("TRON.db") self.c = s

我正在尝试创建一个数据库来链接我正在制作的游戏,但我不断得到错误:sqlite3.OperationalError:near“/:syntax error。数据库可以很好地处理第一个表,但是当我添加第二个表时,它不会运行,并且会出现错误。有没有办法解决这个问题

以下是我创建数据库的方式:

class CreateDB:
    def __init__(self):
        self.conn = sqlite3.connect("TRON.db")
        self.c = self.conn.cursor()

    def createTables(self, Tables):
        for tableName, field in Tables.items():
            self.c.execute('CREATE TABLE IF NOT EXISTS ' + tableName + ' (' + field + ')')
            self.conn.commit()

def main():
    """main function"""

    db = CreateDB()
    Tables = {"AccountDetails": '''PlayerID integer,
                                Username text,
                                Password text,
                                primary key (PlayerID)''',
              "Player": '''PlayerID integer,
              Username text,
              TotalWins integer,
              TotalLosess integer,
              TotalGames integer,
              TotalPoints integer,
              Win/lose_Ratio real,
              primary key (PlayerID)'''}

    db.createTables(Tables)

main()

“赢/输比率”字段中的问题。由于它包含可以表示运算符的
/
,因此必须在字段名中引用它:

Tables = {"AccountDetails": '''PlayerID integer,
                            ...
                            primary key (PlayerID)''',
          "Player": '''PlayerID integer,
          ...
          TotalPoints integer,
          "Win/lose_Ratio" real,
          primary key (PlayerID)'''}