我有sql表:
CREATE TABLE station
(title CHAR(256) PRIMARY KEY,
city CHAR(20),
latitude REAL,
longitude REAL);
我有一些疑问,例如 Q1 :
SELECT * FROM station WHERE latitude > 50 AND longitude > 90;
Q2 :
SELECT * FROM station WHERE latitude > 50 OR longitude > 90;
如何确定下一个插入查询:
INSERT INTO station VALUES ("Station 1", "London", 60, 10)
会改变 Q2 的结果,但不会改变 Q1 的结果吗?
假设选择查询可能无限复杂,有时可能很难回答这个问题,这就是为什么误报是合适的。
换句话说,我该如何编写这样的函数(Python)?
def can_affect(insert_query: str, select_query: str) -> bool:
"""
Tells if particular insert query can affect results of select query.
Returns False if there is no chance that insert will affect select query.
Otherwise, returns True.
"""
答案 0 :(得分:1)
编辑:使用Postgres交易。