我想在sqlite3中创建一个没有列的表。在postgres数据库中是可能的,但在sqlite3中不行。有没有办法实现这个,或者它根本不支持(也许不符合SQL标准?)我已经检查了sqlite3的CREATE TABLE语法,似乎至少必须有一列,但也许我漏掉了什么?
SQLite 不支持零列表。 标准 SQL 也不支持。
CREATE TABLE NoColumns;
。有趣的是SQLite3不支持此功能。 - AlainD我有一个类似的问题,因为我想要一个只包含rowid字段的表。虽然你无法创建没有列的表,但可以使用以下代码创建只有rowid字段作为主键的表:
CREATE TABLE tablename (rowid INTEGER PRIMARY KEY) WITHOUT ROWID;
你可以只创建一个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()
BLOB
类型,如下所示。*如果不指定类型,则根据文档,该类型为BLOB
类型。CREATE TABLE person ("");
或者:
CREATE TABLE person ([]);
或者:
CREATE TABLE person (``);
INSERT INTO person ("") values ('John');
或者:
INSERT INTO person ([]) values ('John');
或者:
INSERT INTO person (``) values ('John');
或者:
INSERT INTO person values ('John');