Supposons que je insère le querySet suivant dans une nouvelle table en SQLite: est-il possible de: p> Comment cela serait-il fait? P> Actuellement, sans que je fais l'insert, le Rowid n'est pas indexé. P> P>
Rowid code> comme incrémentation automatique pk en SQLite de l'insert, ou; li>
3 Réponses :
Auo incrément devrait résoudre ceci. Documentation ici:
https://www.sqlite.org/autoinc.html
créer une table source: p> Ajouter des données source: p> insert into target select null, data from sourceTable
S'il vous plaît pas de lien seulement ... Pouvez-vous poster une réponse avec du code? Je vais supprimer mon bowvote après avoir édité votre réponse ....
@Mark - Pourriez-vous montrer en SQL comment cela serait fait sur l'insert? Ou suggérez-vous d'exécuter une déclaration d'alter table après l'insertion?
Réponse modifiée pour la clarté avec l'exemple.
Vous le verrez si vous le ferez si vous le ferez: P> Rowid code> est déjà là. Vous pouvez simplement faire: SELECT rowid, t.*
FROM queryset_cache;
Merci, SQLite ajoute-t-il automatiquement un champ auto-incrémentant (type de masqué) sur chaque table? J'étais sous l'impression que lors de la création de la nouvelle table, il utiliserait le Rowid code> de l'ancienne table, mais je suppose que je suis (heureusement) tort dans cela.
Ajouté automatiquement. Pas copié de la table d'origine.
Si nous avons une table comme: p>
Insérer des données dans cette table. P>
Créer une table dans laquelle vous souhaitez insérer des données de la table des employés: P>
Copier les données sur la table NewMemploye: P>
( Créer un employé de table (Empid Enterger, Texte du nom, Texte d'adresse); Code> P>
Créer une table NouveauMuployee (Texte primaire NouveauMempid Entier, Texte de nom, Texte d'adresses); Code> P>
Insérer dans le nouveauMemploye Select * à partir de l'employé code> p>
Sélectionnez * à partir de l'employé code>) pour copier toutes les colonnes p>
Quel est le problème ici? Qu'essayez-vous de faire?
@LUDOVICFELTZ Do un insert qui a Rowid comme champ d'auto-interprétation. SQLITE.ORG/AUTOINC.HTML
Donc, ce champ auto-incrément ... pourquoi essayez-vous de définir une valeur?
Si vous créez la table d'abord, vous pouvez ajouter toutes les valeurs sauf
Rowid code>, puis laissez-la incrémenter.