16

我想在 sqlite3 中创建没有列的表。在 postgres 数据库中是可能的,但在 sqlite3 数据库中是不可能的。有什么方法可以实现这一点,还是根本不支持(可能不在 sql 标准中?)我检查了 sqlite3CREATE TABLE语法,似乎必须至少有一列,但也许我错过了什么?

4

3 回答 3

15

SQLite 不支持零列表。或者在 SQL 标准中。

于 2010-12-31T00:00:22.270 回答
1

我有同样的问题,因为我想要一个只有 rowid 字段的表。虽然您可能无法创建没有列的表,但您可以使用以下代码创建一个只有 rowid 字段作为主键的表:

CREATE TABLE tablename (rowid INTEGER PRIMARY KEY) WITHOUT ROWID;
于 2016-04-28T22:39:34.307 回答
0

您可以创建只有 id 列的表,而不是创建空表:

def create_table(DATABESE_NAME):
    conn = sqlite3.connect(DATABESE_NAME)
    c = conn.cursor()
    c.execute(''' CREATE TABLE IF NOT EXISTS rate_table(
    id INTEGER PRIMARY KEY AUTOINCREMENT) ''')
    conn.commit()
    conn.close()
于 2020-04-11T18:49:36.807 回答