MySQL: Comment copier des lignes, mais de changer un peu de champs?
J'ai un grand nombre de lignes que je voudrais copier, mais j'ai besoin de changer un champ.
Je peux sélectionner les lignes que je veux copier:
select * from Table where Event_ID = "120"
Maintenant je veux copier toutes les lignes et créer de nouvelles lignes pendant le réglage de l' Event_ID
à 155
. Comment puis-je y arriver?
Vous devez vous connecter pour publier un commentaire.
Ici, col2, ... représentent les colonnes restantes (celles autres que Event_ID) dans votre tableau.
C'est une solution où vous avez de nombreux champs de votre table et vous ne voulez pas d'obtenir une crampe au doigt de la saisie de tous les champs, il suffit de taper ceux qui sont nécessaire 🙂
Comment faire pour copier quelques lignes dans la même table, avec quelques champs ayant des valeurs différentes:
Votre code:
D'un scénario général code:
Simplifié/résumés code:
Que la création de la table temporaire utilise le
TEMPORARY
mot-clé, il sera supprimée automatiquement lorsque la session se termine (comme @ar34z suggéré).TEMPORARY
mot-clé pour créer des tables temporaires. L'utilisation deCREATE TEMPORARY TABLE
sera automatiquement supprimer la table lors de la session (une série de requêtes SQL) est terminé. La suppression de la table ne serait pas nécessaire, et il n'entre pas en conflit avec d'autres tables temporaires en utilisant le même nom. (par exemple, lorsque live piratage (que je ne recommande pas))ALTER TABLE temporary_table MODIFY <auto_inc_not_null_field> INT;
Puis la mise à jour de la clé primaire de la valeur Null n'échouerait pas.Exception: null value in column <auto_inc_not_null_field> violates not-null constraint
. J'ai essayéALTER TABLE temporary_table ALTER COLUMN <auto_inc_not_null_field> DROP NOT NULL;
null
, ensembleauto-increment
valeur de la colonne à0
.Disons que votre table a deux autres colonnes: foo et bar
Si vous avez beaucoup de colonnes de votre table et vous ne voulez pas le type de chacune d'elle, vous pouvez le faire en utilisant une table temporaire, comme;
Hey comment sur pour copier tous les domaines, le changement de l'un d'eux de la même valeur + autre chose.
??????????
Tant que Event_ID est Entier, faites ceci: