我在尝试使用SQLPLUS了解如何更新记录中的单个单元格时遇到了一些麻烦。在名为CUSTOMER
I的表中,CUSTOMER_NUMBER
列不是主键,也是空值。我错误地将两个CUSTOMER NUMBER
值相同。
我现在的问题是,记录中有ALTER
和UPDATE
单个单元格吗?我需要将Adams
行更改为412
而不是522
。
答案 0 :(得分:1)
这就是主键很重要的原因!
您必须非常小心地更新另一个(希望是唯一的)字段,否则您可能会更新比预期更多的记录。自从Adams,Sally在您的示例中出现两次后,街道名称 确实 与您提及的522条目不同。
当然,假设此名称只有 ONE 地址! (并且表格中没有其他" 16 ELM"可能不会出现在您的示例输出中)
尝试:UPDATE CUSTOMER set CUS=412 WHERE STREET='16 ELM'
如果有其他条目具有相同的地址,那么这些条目也会更新。如果您使用了WHERE LAST='Adams'
,那么您将更新2条记录。
答案 1 :(得分:0)
更新客户 设置cus = 412 其中rowid不在(通过cus从客户组中选择max(rowid));
这应该符合您的目的。请提供有关结果的反馈。