我有一个没有ID和日期的外国表。 例如,如果其他用户插入了许多记录,在PostgreSQL中是否可以选择最后插入的记录? *注意:我对该表的唯一访问权限是仅选择
答案 0 :(得分:1)
SQL表表示无序集,结果集也是如此。如果不指定ORDER BY
,则无法保证数据。
然后:
我有一个没有ID或日期的外国表
没有其他方法可以解决此问题,以指定所需的内容。
我对该表的唯一访问权限是仅选择
如果您仅获得Select
特权,则应告诉您的DBA,如果该数据是该用户最后插入的数据,则不能保证100%保证数据。
答案 1 :(得分:0)
根据我的了解,PostgreSQL无法保证来保留插入顺序。如果没有时间戳记字段或顺序主键,我认为无法保证获取最后一行。
您可以尝试
SELECT * FROM YOUR_TABLE WHERE CTID = (SELECT MAX(CTID) FROM YOUR_TABLE)
假定目标表不执行更新操作。