Maison > base de données > tutoriel mysql > le corps du texte

Comment insérer correctement des données d'une table à une autre dans MySQL ?

Barbara Streisand
Libérer: 2024-11-04 00:26:30
original
316 Les gens l'ont consulté

How to Correctly Insert Data from One Table to Another in MySQL?

Insérer des données d'une table à une autre dans MySQL

L'insertion de données d'une table à une autre est une opération courante dans la gestion de bases de données. Cependant, cela peut parfois conduire à des erreurs si la syntaxe n'est pas correcte.

Considérons la requête suivante :

<code class="sql">INSERT INTO mt_magazine_subscription (
    magazine_subscription_id,
    subscription_name,
    magazine_id,
    status
)
VALUES (
    (SELECT magazine_subscription_id,
            subscription_name,
            magazine_id
     FROM tbl_magazine_subscription
     ORDER BY magazine_subscription_id ASC), '1')</code>
Copier après la connexion

Cette requête vise à insérer les données de la table tbl_magazine_subscription dans la table mt_magazine_subscription. Cependant, cela entraîne l'erreur :

#1136 - Column count doesn't match value count at row 1
Copier après la connexion

Pour résoudre cette erreur, nous pouvons utiliser la syntaxe INSERT...SELECT. La requête mise à jour est :

<code class="sql">INSERT INTO mt_magazine_subscription (
    magazine_subscription_id,
    subscription_name,
    magazine_id,
    status
)
SELECT magazine_subscription_id,
       subscription_name,
       magazine_id,
       '1'
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC</code>
Copier après la connexion

Dans cette requête révisée, nous spécifions directement la valeur de la colonne d'état comme « 1 » dans l'instruction SELECT, garantissant que le nombre de valeurs correspond au nombre de colonnes dans l'instruction SELECT. table cible. Cette modification permet à l'insertion des données de se dérouler avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal