IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[MySQL][Newbie] - if id==null Create id


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 54
    Points
    54
    Par défaut [MySQL][Newbie] - if id==null Create id
    Bonjour,

    Je fais mes début avec l'SQL et voici la situation,

    Je suis actuellement dans la réalisation d'un plugin qui permet d'utiliser les utilisateurs d'un moteur de forum dans un moteur de blog, le but étant de modifier un minimum les deux structures et de pouvoir activer et désactiver ce plugin.

    Je suis donc partit sur l'idée de travailler avec une vue qui ira chercher les infos dans deux bases pour n'en former qu'une, qui serra utilisé par le moteur de blog de façon transparente.
    pun_users = table utilisateurs du forum.
    dc2_user_to_punbb = table qui contient les informations propre au moteur de blog.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE VIEW user_punbb_to_dc
    AS SELECT pun.id AS user_id, dc.user_super, dc.user_status, pun.password AS user_pwd, 
    null AS user_recover_key, dc.user_name, dc.user_firstname, dc.user_displayname, pun.email AS user_email, 
    dc.user_url, dc.user_desc, dc.user_default_blog, dc.user_options, dc.user_lang, dc.user_tz, 
    dc.user_post_status, dc.user_creadt, dc.user_upddt FROM dc2_user_to_punbb AS dc, pun_users AS pun 
    WHERE dc.user_id = pun.id;
    Jusque ici tout va bien, maintenant je veux pouvoir modifier les infos de la vue, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE user_punbb_to_dc SET user_super=1 WHERE user_id='admin';
    Mon souci est que la table dc2_user_to_punbb est vide. Et je voudrais la remplire automatiquement. En faisant un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (dc2_user_to_punbb.user_id === null  &&  EXIST(pun_users.id=$unID)) INSERT user_id INTO dc2_user_to_punbb VALUES $unID;
    L'idéal serrait de pouvoir gérer tout ça directement via SQL pour n'avoir qu'a changer le nom de la table au niveau du moteur de blog.

    N'hésitez pas poser des questions si certains points ne sont pas clair, je ne réalise pas très bien la faisabilité de mon idée. :p

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    le SQL n'est pas un langage procédural, le mieux serait de gérer celà via une procédure (stockée ou en PHP par exemple), afin de gérer le test d'existence de l'enregistrement.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MySQL 5 - #1005 - Can't create table
    Par dighan dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/06/2010, 13h20
  2. Réponses: 2
    Dernier message: 11/04/2010, 20h34
  3. MySQL 4.1.9 - GRANT CREATE
    Par iglog dans le forum Administration
    Réponses: 0
    Dernier message: 23/11/2009, 11h10
  4. MySql et PHP : valeur NULL
    Par fffonck dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/02/2006, 17h02
  5. [mySQL] Newbie : Utilisation de CASE
    Par SergeF dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/07/2005, 00h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo