我的 Postgres 数据库中有以下两个表:
CREATE TABLE User (
Id serial UNIQUE NOT NULL,
Login varchar(80) UNIQUE NOT NULL,
PRIMARY KEY (Id,Login)
);
CREATE TABLE UserData (
Id serial PRIMARY KEY REFERENCES Users (Id),
Password varchar(255) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
假设我添加了一个新用户,INSERT INTO Users(Id, Login) VALUES(DEFAULT, 'John')
并且还想添加VALUES(id, 'john1980')
John的新 ID UserData
。id
我如何获得该 ID?对刚刚创建的东西运行查询似乎是多余的。我在数据库中遇到过多次这样的情况。也许我的设计总体上有缺陷?
(我显然不会像那样存储密码。)
sql postgresql database-design primary-key common-table-expression
获得以下内容的最pythonic方式是什么:
(False, False, False)
(False, False, True)
(False, True, False)
(False, True, True)
...
Run Code Online (Sandbox Code Playgroud)
我有n
变量,每个变量值,True
或者False
我如何组合它们?我正在考虑使用range(n)
然后检查生成的整数的位,但这似乎太hacky.