1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 3
    Points : 3
    Points
    3

    Par défaut Créer une table qui ne contiendra qu'une seule ligne

    Bonjour à tous.

    En fait, j'ai une base de données Mysql et je voudrais créer une table "liens" mais je veux que cette table ne contiennent qu'une seule ligne.

    Pour prendre un exemple sur la table liens(id, nom, type, date_insertion), elle contient (1, "www.google.fr" , "Moteur de recherche", 20/12/2016)

    Si je veux ajouter le site Youtube comme étant un service de visionnage de vidéo en streaming, avec la syntaxe INSERT INTO, ma table liens aura 2 lignes, or je ne veux conserver que l'information que je viens d'ajouter, dans mon cas

    (2, "www.Youtube.com", "Service de visionnage de videos en streaming", 10/08/2017).

    Quelqu'un aurait une idée de comment faire celà?

    J'utilise wampserveur64 et ma version de Mysql est 5.7.14

    Version de php: 5.6.25

    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    7 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 7 402
    Points : 22 428
    Points
    22 428

    Par défaut

    Tu peux par exemple ajouter deux contraintes sur la colonne id :
    1. id est unique
    2. id est égal à 1


    [Edit] J'ai répondu trop vite, sans lire correctement la question. J'avais compris que tu ne voulais pas qu'on puisse ajouter une ligne.
    2 solutions : Ajouter un trigger after insert qui supprime la ligne la plus ancienne ou un trigger before insert qui transforme l'insertion en mise à jour.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti Avatar de arthur57
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2014
    Messages : 191
    Points : 318
    Points
    318

    Par défaut

    Bonjour,

    Est-ce vraiment justifié d'avoir une table qui contient uniquement une information ?
    Sinon tu as plusieurs choix, une requête qui fait un DELETE avec ton INSERT, une requête UPDATE, un déclencheur, ..
    Si débugger est l'art de corriger les bugs, alors programmer est l'art d'en créer.

    L'intelligence, c'est la chose la mieux répartie chez les hommes, parce que, quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez, vu que c'est avec ça qu'il juge.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    C'est pour un projet sur lequel je travaille cet été. Je ne m'y connais pas trop en trigger mais je vais creuser vos recommandations et je reviens vers vous très vite.
    Merci

  5. #5
    Expert éminent Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 2 888
    Points : 8 557
    Points
    8 557

    Par défaut

    Salut Wgekou31.

    Il y a plusieurs solutions à votre demande.
    La plus simple est, non pas de faire un "insert", mais plutôt un "update" ou plutôt un "replace"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REPLACE INTO `lien` (`id`,`nom`,`type`,`date_insertion`) VALUES (1, 'www.Youtube.com', 'Service de visionnage de videos en streaming', '2017-08-10');
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Merci pour vos conseils.
    Ca a fonctionné le REPLACE INTO
    Je ne le connaissais pas celui ci


  7. #7
    Expert éminent Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 2 888
    Points : 8 557
    Points
    8 557

    Par défaut

    Salut Wgekou31.

    Le "replace" fonctionne selon les cas soit comme un "insert" soit comme un "update".
    Mais vu que la ligne existe déjà "id=1", le "replace" fonctionne alors comme un "update".
    Si votre problème est résolu, vous pouvez cliquer sur le bouton "sujet résolu" !

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/04/2015, 21h05
  2. Réponses: 3
    Dernier message: 20/09/2012, 10h30
  3. Réponses: 2
    Dernier message: 31/03/2011, 11h22
  4. Réponses: 2
    Dernier message: 17/01/2010, 18h09
  5. Réponses: 3
    Dernier message: 15/10/2008, 09h24

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