如何遵循这些说明?[SQL查询]

如何遵循这些说明?[SQL查询],sql,oracle,Sql,Oracle,我们已请求更改列SPORTS\u MANAGEMENT\u INFO以接受空值: 使用了以下脚本: ALTER TABLE ALB.BLA_WR_CAR_SPORTS_MGMT_DTLS ADD ( CONSTRAINT BLA_WR_CAR_SPORTS_DTLS_PK PRIMARY KEY (WR_ID, CAR_NUMBER, SPORTS_MANAGEMENT_INFO) USING INDEX ALB.BLA_WR_CAR_SPORTS_DTLS_PK ENAB

我们已请求更改列SPORTS\u MANAGEMENT\u INFO以接受空值:

使用了以下脚本:

ALTER TABLE ALB.BLA_WR_CAR_SPORTS_MGMT_DTLS ADD (
  CONSTRAINT BLA_WR_CAR_SPORTS_DTLS_PK
  PRIMARY KEY
  (WR_ID, CAR_NUMBER, SPORTS_MANAGEMENT_INFO)
  USING INDEX ALB.BLA_WR_CAR_SPORTS_DTLS_PK
  ENABLE VALIDATE);
但是我们在第1行得到了这个错误:

ORA-01451:要修改为NULL的列不能修改为NULL

我被指示做以下工作:
“手工创建一个查询,找出是否有任何行的实例在除该列之外的其他列中不存在差异[SPORTS_MANAGEMENT_INFO]。如果没有,则可以安全地将PK限制在其余列中”


我正在努力理解说明书。“除了那一栏之外,没有其他栏”让我感到不舒服。

您的DBMS是Oracle还是PostGRES?
从alb.bla_wr_car_sports_管理dtls组中按wr_id选择wr_id、car_number、count(*)1
我用
oracle
重新标记了这个问题,因为错误消息清楚地表明您使用的是oracle,而不是PostgresA。主键列不能为空。“创建一个查询,找出除了[SPORTS\u MANAGEMENT\u INFO]列之外,其他列中是否存在任何不同的行实例。”换言之:找出是否有超过1条记录的值除体育管理信息外都相同。上面迈克的问题看起来应该解决了。因为真正重要的是,关键不是重复的。您的DBMS是Oracle还是PostGRES?
从alb.bla\U wr\U car\U sports\U dtls组中选择wr\U id、car\U number、count(*)按wr\U id,car\U number具有count(*)大于1
我用
oracle
重新标记了这个问题,因为错误消息清楚地表明您使用的是oracle,而不是PostgresA。主键列不能为空。“创建一个查询,找出除了[SPORTS\u MANAGEMENT\u INFO]列之外,其他列中是否存在任何不同的行实例。”换言之:找出是否有超过1条记录的值除体育管理信息外都相同。上面迈克的问题看起来应该解决了。因为真正重要的是钥匙没有复制。