Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2007, 21h44   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 110
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2006
Messages : 110
Points : 31
Points : 31
Par défaut Syntaxe de requête

Bonjour

J'ai deux tables à la structure identique : id, nom, date

J'aimerai transfèrer une ligne depuis 'mabasetemporaire' sur 'mabase', mais en affectant un nouvel id contenu dans $nouvel_id

Je ne sais pas comment m'y prendre avec la requête...

J'ai essayé la requete suivante, mais comment y incruster ma variable $nouvel_id ?


Code :
1
2
 
$request = "INSERT INTO 'mabase' SELECT 'nom','date' FROM 'mabasetemporaire' WHERE bit=1";
Merci
Ralfman68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 22h03   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
  • les nom d'objets de BDD ne doivent pas être écrits 'entre apostrophes', mais `entre accents graves` ; cela n'est nécessaire que s'ils contiennent des espaces, des caractères accentués ou spéciaux, commencent par un chiffre ou ou encore sont identiques à des mots réservés, comme date ou bit.
  • je crois que tu confonds base et table
  • dans le INSERT, il est préférable de préciser la liste des colonnes dans lesquelles on insère, ce qui permet notamment d'ajouter ID

Code :
1
2
3
4
$request = "INSERT INTO mabase (ID, nom, `date`) 
SELECT $nouvel_id, nom, `date` 
FROM mabasetemporaire
WHERE `bit`=1";
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 22h07   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 110
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2006
Messages : 110
Points : 31
Points : 31
Génial c'est exactement ce que je cherchais.

En fait j'étais plongé dans la doc de INSERT, et j'ai vu qu'il existe l'option ON DUPLICATE KEY UPDATE que je ne connaissais pas et qui pourra m'éviter de recalculer l'id.

Merci pour la solution et pour avoir corrigé mes erreurs de débutant
Ralfman68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h16.


 
 
 
 
Partenaires

Hébergement Web