gpt4 book ai didi

sql - 如何删除符合 SQL 中某些条件的一条记录? (内特扎)

转载 作者:行者123 更新时间:2023-12-04 23:28:56 25 4
gpt4 key购买 nike

我在一个表中有一些重复的记录,因为事实证明 Netezza 不支持对主键的约束检查。话虽如此,我有一些记录的信息完全相同,我只想删除其中的一个。我试过做

delete  from table_name where test_id=2025 limit 1

并且
delete  from table_name where test_id=2025 rowsetlimit 1

然而,这两个选项都不起作用。我收到一条错误消息
found 'limit'. Expecting a keyword

有没有办法限制这个查询删除的记录?我知道我可以删除记录并重新插入它,但这有点乏味,因为我将不得不多次这样做。

请注意,这不是 SQL Server 或 MySQL。这是针对 Netezza

最佳答案

如果它不支持“DELETE TOP 1”或“LIMIT”关键字,您最终可能不得不执行以下操作之一:

1) 添加某种自动递增列(如 ID),使每一行都是唯一的。不过,我不知道您是否可以在创建表后在 Netezza 中执行此操作。

2)使用某种编程语言以编程方式读取整个表,以编程方式消除重复项,然后删除所有行并再次插入它们。如果它们被其他表引用,这可能是不可能的,在这种情况下,您可能必须暂时删除约束。

我希望这有帮助。请告诉我们。

并供日后引用;这就是为什么我个人总是创建一个自动递增的 ID 字段,即使我认为我永远不会使用它。 :)

关于sql - 如何删除符合 SQL 中某些条件的一条记录? (内特扎),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com