Is there Such Thing As The Opposite of Unique Constraint












0















I want to be constrain my database with what is essentially the opposite of a UNIQUE constraint. I want to only be able to add a new row if some combination of fields has been added before.



Note: I am working within postgres.



Take the following datasets for example. I want a "NON UNIQUE" constraint on the following:



1, a, 1

1, a, 1

1, b, 1


I should not have been able to add the row (1, b, 1) since it has not appeared before. There are also other fields I don't want to constrain so it's not like all the entries are identical.



This may be a separate question, but I would also like to add the constraint that all rows with the same value in one column (i.e. a in the above example) have the same value in another.



So I want this to be impossible



1, a, 1

1, a, 1

0, a, 1


But this is ok



1, a, 1

1, a, 1

0, b, 1


I have looked around pretty heavily and the opposite of this is possible
with unique constraints, but I can't find anything that works for this.
Check constraints will only look at the row in question, and won't take into account the entire table's entries like a unique constraint would.



Is this even possible? Or is this now out of the realms of Postgres functionality, and must be done in-application.









share







New contributor




JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I want to be constrain my database with what is essentially the opposite of a UNIQUE constraint. I want to only be able to add a new row if some combination of fields has been added before.



    Note: I am working within postgres.



    Take the following datasets for example. I want a "NON UNIQUE" constraint on the following:



    1, a, 1

    1, a, 1

    1, b, 1


    I should not have been able to add the row (1, b, 1) since it has not appeared before. There are also other fields I don't want to constrain so it's not like all the entries are identical.



    This may be a separate question, but I would also like to add the constraint that all rows with the same value in one column (i.e. a in the above example) have the same value in another.



    So I want this to be impossible



    1, a, 1

    1, a, 1

    0, a, 1


    But this is ok



    1, a, 1

    1, a, 1

    0, b, 1


    I have looked around pretty heavily and the opposite of this is possible
    with unique constraints, but I can't find anything that works for this.
    Check constraints will only look at the row in question, and won't take into account the entire table's entries like a unique constraint would.



    Is this even possible? Or is this now out of the realms of Postgres functionality, and must be done in-application.









    share







    New contributor




    JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I want to be constrain my database with what is essentially the opposite of a UNIQUE constraint. I want to only be able to add a new row if some combination of fields has been added before.



      Note: I am working within postgres.



      Take the following datasets for example. I want a "NON UNIQUE" constraint on the following:



      1, a, 1

      1, a, 1

      1, b, 1


      I should not have been able to add the row (1, b, 1) since it has not appeared before. There are also other fields I don't want to constrain so it's not like all the entries are identical.



      This may be a separate question, but I would also like to add the constraint that all rows with the same value in one column (i.e. a in the above example) have the same value in another.



      So I want this to be impossible



      1, a, 1

      1, a, 1

      0, a, 1


      But this is ok



      1, a, 1

      1, a, 1

      0, b, 1


      I have looked around pretty heavily and the opposite of this is possible
      with unique constraints, but I can't find anything that works for this.
      Check constraints will only look at the row in question, and won't take into account the entire table's entries like a unique constraint would.



      Is this even possible? Or is this now out of the realms of Postgres functionality, and must be done in-application.









      share







      New contributor




      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I want to be constrain my database with what is essentially the opposite of a UNIQUE constraint. I want to only be able to add a new row if some combination of fields has been added before.



      Note: I am working within postgres.



      Take the following datasets for example. I want a "NON UNIQUE" constraint on the following:



      1, a, 1

      1, a, 1

      1, b, 1


      I should not have been able to add the row (1, b, 1) since it has not appeared before. There are also other fields I don't want to constrain so it's not like all the entries are identical.



      This may be a separate question, but I would also like to add the constraint that all rows with the same value in one column (i.e. a in the above example) have the same value in another.



      So I want this to be impossible



      1, a, 1

      1, a, 1

      0, a, 1


      But this is ok



      1, a, 1

      1, a, 1

      0, b, 1


      I have looked around pretty heavily and the opposite of this is possible
      with unique constraints, but I can't find anything that works for this.
      Check constraints will only look at the row in question, and won't take into account the entire table's entries like a unique constraint would.



      Is this even possible? Or is this now out of the realms of Postgres functionality, and must be done in-application.







      postgresql constraint





      share







      New contributor




      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 39 secs ago









      JDGale8JDGale8

      1




      1




      New contributor




      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      JDGale8 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "182"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          JDGale8 is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f231296%2fis-there-such-thing-as-the-opposite-of-unique-constraint%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          JDGale8 is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          JDGale8 is a new contributor. Be nice, and check out our Code of Conduct.













          JDGale8 is a new contributor. Be nice, and check out our Code of Conduct.












          JDGale8 is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Database Administrators Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f231296%2fis-there-such-thing-as-the-opposite-of-unique-constraint%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          ف. موراي أبراهام

          صرب

          كأس إنترتوتو