Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer des données à partir d'une colonne d'une table et stocker dans une colonne d'une autre table

Comme demandé pour la mise à jour à vérifier, si vous voulez savoir si la table de la base de données a été importée OU mise à jour, exécutez d'abord ce SCRIPT :

SELECT 
    COUNT(*) AS countOfDetails 
FROM 
    details

En PHP :

$messageString = "";
// assign the countOfDetails from the Query to a PHP variable $myCount
if($myCount==0){
    $messageString = "Database Imported Successfully!";
}
else{
    $messageString = "Database Updated Successfully!";
}

Après avoir obtenu le message à afficher dans une chaîne.
Vous pouvez exécuter ce SCRIPT pour mettre à jour/importer la table de base de données :

INSERT INTO details (name, download) 
SELECT item_name, items_download
FROM Source
WHERE NOT EXISTS 
          ( SELECT name, download FROM details 
            WHERE name IN (
                       SELECT item_name FROM Source
                          )
          ) 

Après l'avoir exécuté, faites écho au $messageString où vous voulez.

REMARQUE : Cela insérera les lignes qui ne sont pas présentes dans la table de détails (et ne donnera pas d'erreur et ignorera la partie INSERT si elle existe déjà), donc l'erreur de duplication ne sera en aucun cas donnée et le travail sera terminé