My GORM Primary ID is getting set to an 18 digit number, how can i force this number to start at 1












0














I'm using GORM to handle my database operations. My struct is as follows



type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}


When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121



Is it possible to get this id to begin at 1 and increment from there?










share|improve this question





























    0














    I'm using GORM to handle my database operations. My struct is as follows



    type Job struct {
    gorm.Model
    JobID int `gorm:"primary_key"`
    Jobitem Jobitem
    SubID int `sql:"not null"`
    StartDateTime string `sql:"not null"`
    JobStatus string `sql:"not null"`
    }


    When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121



    Is it possible to get this id to begin at 1 and increment from there?










    share|improve this question



























      0












      0








      0







      I'm using GORM to handle my database operations. My struct is as follows



      type Job struct {
      gorm.Model
      JobID int `gorm:"primary_key"`
      Jobitem Jobitem
      SubID int `sql:"not null"`
      StartDateTime string `sql:"not null"`
      JobStatus string `sql:"not null"`
      }


      When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121



      Is it possible to get this id to begin at 1 and increment from there?










      share|improve this question















      I'm using GORM to handle my database operations. My struct is as follows



      type Job struct {
      gorm.Model
      JobID int `gorm:"primary_key"`
      Jobitem Jobitem
      SubID int `sql:"not null"`
      StartDateTime string `sql:"not null"`
      JobStatus string `sql:"not null"`
      }


      When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121



      Is it possible to get this id to begin at 1 and increment from there?







      go-gorm






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 27 '18 at 8:32









      Depado

      2,61112753




      2,61112753










      asked Nov 13 '18 at 0:12









      Andy GriffithAndy Griffith

      11




      11
























          2 Answers
          2






          active

          oldest

          votes


















          0














          You're using both gorm.Model and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:



          type Job struct {
          // gorm.Model ↓
          ID uint `gorm:"primary_key"` // Gorm uses this
          CreatedAt time.Time
          UpdatedAt time.Time
          DeletedAt *time.Time `sql:"index"`
          // gorm.Model ↑

          JobID int `gorm:"primary_key"` // And also detects this
          Jobitem Jobitem
          SubID int `sql:"not null"`
          StartDateTime string `sql:"not null"`
          JobStatus string `sql:"not null"`
          }


          Long story short, have a look there for some documentation on gorm.Model






          share|improve this answer





























            0














            Thanks Depado,
            It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.






            share|improve this answer





















              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              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: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              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
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271950%2fmy-gorm-primary-id-is-getting-set-to-an-18-digit-number-how-can-i-force-this-nu%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              You're using both gorm.Model and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:



              type Job struct {
              // gorm.Model ↓
              ID uint `gorm:"primary_key"` // Gorm uses this
              CreatedAt time.Time
              UpdatedAt time.Time
              DeletedAt *time.Time `sql:"index"`
              // gorm.Model ↑

              JobID int `gorm:"primary_key"` // And also detects this
              Jobitem Jobitem
              SubID int `sql:"not null"`
              StartDateTime string `sql:"not null"`
              JobStatus string `sql:"not null"`
              }


              Long story short, have a look there for some documentation on gorm.Model






              share|improve this answer


























                0














                You're using both gorm.Model and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:



                type Job struct {
                // gorm.Model ↓
                ID uint `gorm:"primary_key"` // Gorm uses this
                CreatedAt time.Time
                UpdatedAt time.Time
                DeletedAt *time.Time `sql:"index"`
                // gorm.Model ↑

                JobID int `gorm:"primary_key"` // And also detects this
                Jobitem Jobitem
                SubID int `sql:"not null"`
                StartDateTime string `sql:"not null"`
                JobStatus string `sql:"not null"`
                }


                Long story short, have a look there for some documentation on gorm.Model






                share|improve this answer
























                  0












                  0








                  0






                  You're using both gorm.Model and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:



                  type Job struct {
                  // gorm.Model ↓
                  ID uint `gorm:"primary_key"` // Gorm uses this
                  CreatedAt time.Time
                  UpdatedAt time.Time
                  DeletedAt *time.Time `sql:"index"`
                  // gorm.Model ↑

                  JobID int `gorm:"primary_key"` // And also detects this
                  Jobitem Jobitem
                  SubID int `sql:"not null"`
                  StartDateTime string `sql:"not null"`
                  JobStatus string `sql:"not null"`
                  }


                  Long story short, have a look there for some documentation on gorm.Model






                  share|improve this answer












                  You're using both gorm.Model and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:



                  type Job struct {
                  // gorm.Model ↓
                  ID uint `gorm:"primary_key"` // Gorm uses this
                  CreatedAt time.Time
                  UpdatedAt time.Time
                  DeletedAt *time.Time `sql:"index"`
                  // gorm.Model ↑

                  JobID int `gorm:"primary_key"` // And also detects this
                  Jobitem Jobitem
                  SubID int `sql:"not null"`
                  StartDateTime string `sql:"not null"`
                  JobStatus string `sql:"not null"`
                  }


                  Long story short, have a look there for some documentation on gorm.Model







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 27 '18 at 8:37









                  DepadoDepado

                  2,61112753




                  2,61112753

























                      0














                      Thanks Depado,
                      It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.






                      share|improve this answer


























                        0














                        Thanks Depado,
                        It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.






                        share|improve this answer
























                          0












                          0








                          0






                          Thanks Depado,
                          It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.






                          share|improve this answer












                          Thanks Depado,
                          It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 28 '18 at 16:26









                          Andy GriffithAndy Griffith

                          11




                          11






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • 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.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • 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%2fstackoverflow.com%2fquestions%2f53271950%2fmy-gorm-primary-id-is-getting-set-to-an-18-digit-number-how-can-i-force-this-nu%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







                              這個網誌中的熱門文章

                              Tangent Lines Diagram Along Smooth Curve

                              Yusuf al-Mu'taman ibn Hud

                              Zucchini