Does the first instance of a model have an id of 0 or 1?












0















I'm wondering if the very first instance of a model has an id of 0 or 1?



I'm interested in default functionality for PostgreSQL and SQLite.



Thanks!










share|improve this question




















  • 1





    That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

    – Willem Van Onsem
    Jan 2 at 20:01













  • Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

    – Jason Howard
    Jan 2 at 20:05
















0















I'm wondering if the very first instance of a model has an id of 0 or 1?



I'm interested in default functionality for PostgreSQL and SQLite.



Thanks!










share|improve this question




















  • 1





    That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

    – Willem Van Onsem
    Jan 2 at 20:01













  • Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

    – Jason Howard
    Jan 2 at 20:05














0












0








0








I'm wondering if the very first instance of a model has an id of 0 or 1?



I'm interested in default functionality for PostgreSQL and SQLite.



Thanks!










share|improve this question
















I'm wondering if the very first instance of a model has an id of 0 or 1?



I'm interested in default functionality for PostgreSQL and SQLite.



Thanks!







django django-models






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 2 at 20:12







Jason Howard

















asked Jan 2 at 20:00









Jason HowardJason Howard

318112




318112








  • 1





    That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

    – Willem Van Onsem
    Jan 2 at 20:01













  • Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

    – Jason Howard
    Jan 2 at 20:05














  • 1





    That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

    – Willem Van Onsem
    Jan 2 at 20:01













  • Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

    – Jason Howard
    Jan 2 at 20:05








1




1





That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

– Willem Van Onsem
Jan 2 at 20:01







That depends, strictly speaking, on the underlying database. For most databases it is 1. It is an AutoField, and the ids are assigned by the database, in some databases, like PostgreSQL, you can provide it a different sequence, and thus dispatch ids in a totally different way. But it is typically a bad idea to "work with these ids". Personally I think it is better to see ids as "blackbox" identifiers, where the content/type/... is unknown.

– Willem Van Onsem
Jan 2 at 20:01















Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

– Jason Howard
Jan 2 at 20:05





Sorry. I should have been more clear. I'm interested in SQLLite and PostgreSQL databases. Thanks!

– Jason Howard
Jan 2 at 20:05












1 Answer
1






active

oldest

votes


















1














Both SQLite and PostgreSQL use 1 as the default starting point for auto-increment style indicies (assuming an increasing value).



From the SQLite docs on autoincrement:




If the table is initially empty, then a ROWID of 1 is used.




From the PostgreSQL docs on sequences:




The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -2^63 - 1 for ascending and descending sequences, respectively.







share|improve this answer
























  • thanks for the info!

    – Jason Howard
    Jan 2 at 22:13












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%2f54012424%2fdoes-the-first-instance-of-a-model-have-an-id-of-0-or-1%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














Both SQLite and PostgreSQL use 1 as the default starting point for auto-increment style indicies (assuming an increasing value).



From the SQLite docs on autoincrement:




If the table is initially empty, then a ROWID of 1 is used.




From the PostgreSQL docs on sequences:




The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -2^63 - 1 for ascending and descending sequences, respectively.







share|improve this answer
























  • thanks for the info!

    – Jason Howard
    Jan 2 at 22:13
















1














Both SQLite and PostgreSQL use 1 as the default starting point for auto-increment style indicies (assuming an increasing value).



From the SQLite docs on autoincrement:




If the table is initially empty, then a ROWID of 1 is used.




From the PostgreSQL docs on sequences:




The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -2^63 - 1 for ascending and descending sequences, respectively.







share|improve this answer
























  • thanks for the info!

    – Jason Howard
    Jan 2 at 22:13














1












1








1







Both SQLite and PostgreSQL use 1 as the default starting point for auto-increment style indicies (assuming an increasing value).



From the SQLite docs on autoincrement:




If the table is initially empty, then a ROWID of 1 is used.




From the PostgreSQL docs on sequences:




The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -2^63 - 1 for ascending and descending sequences, respectively.







share|improve this answer













Both SQLite and PostgreSQL use 1 as the default starting point for auto-increment style indicies (assuming an increasing value).



From the SQLite docs on autoincrement:




If the table is initially empty, then a ROWID of 1 is used.




From the PostgreSQL docs on sequences:




The optional clause MINVALUE minvalue determines the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -2^63 - 1 for ascending and descending sequences, respectively.








share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 2 at 20:17









Jonah BishopJonah Bishop

9,07433357




9,07433357













  • thanks for the info!

    – Jason Howard
    Jan 2 at 22:13



















  • thanks for the info!

    – Jason Howard
    Jan 2 at 22:13

















thanks for the info!

– Jason Howard
Jan 2 at 22:13





thanks for the info!

– Jason Howard
Jan 2 at 22:13




















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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54012424%2fdoes-the-first-instance-of-a-model-have-an-id-of-0-or-1%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

MongoDB - Not Authorized To Execute Command

Npm cannot find a required file even through it is in the searched directory

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith