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

MySQL Discussion :

Trigger ERROR 1064 (42000)


Sujet :

MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 45
    Points : 77
    Points
    77
    Par défaut Trigger ERROR 1064 (42000)
    Bonjour,

    comme l'indique le sujet de mon message, je cherche depuis quelque temps à créer un trigger avec mariadb, mais en vain avec la fameuse erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR 1064 (42000) : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'REFERENCING...INTO EXMAPL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR 1064 (42000) : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'END
    Et voici le trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TRIGGER ajout_film AFTER INSERT ON FILM REFERENCING NEW ROW AS NEW FOR EACH ROW
    BEGIN ATOMIC
            INSERT INTO EXEMPLAIRE VALUES(NEW.codefilm,1,1,2);
    END
    Donc pour le moment je souhaite pouvoir créer un simple trigger, mais sans succès.

    Merci d'avance pour toutes réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Tu nous donnerais le CREATE TABLE pour qu'on puisse tester ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut ScriptorTux.

    J'ai improvisé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS ESSAI
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `ESSAI`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    COMMIT
    --------------
     
    --------------
    DROP TABLE IF EXISTS  `film`
    --------------
     
    --------------
    CREATE TABLE IF NOT EXISTS `film`
    (
            `codefilm`  int          NOT NULL,
            PRIMARY KEY(`codefilm`)
    )       ENGINE=InnoDB
            ROW_FORMAT=COMPRESSED
            DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS  `exemplaire`
    --------------
     
    --------------
    CREATE TABLE IF NOT EXISTS `exemplaire`
    (
            `codefilm`  int          NOT NULL,
            `un`        int          NOT NULL,
            `deux`      int          NOT NULL,
            `trois`     int          NOT NULL,
            PRIMARY KEY(`codefilm`)
    )       ENGINE=InnoDB
            ROW_FORMAT=COMPRESSED
            DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
    --------------
     
    --------------
    DROP TRIGGER IF EXISTS `ajout_film`
    --------------
     
    --------------
    CREATE TRIGGER ajout_film
    AFTER INSERT ON FILM
    FOR EACH ROW BEGIN
        INSERT INTO `EXEMPLAIRE` (`codefilm`,`un`,`deux`,`trois`) VALUES(NEW.codefilm,1,1,2);
    END
    --------------
     
    --------------
    INSERT INTO `film` (`codefilm`) VALUES
    (17),(63),(45),(999)
    --------------
     
    --------------
    COMMIT
    --------------
     
    --------------
    select *
    from   `film`
    --------------
     
    +----------+
    | codefilm |
    +----------+
    |       17 |
    |       45 |
    |       63 |
    |      999 |
    +----------+
    --------------
    select *
    from   `exemplaire`
    --------------
     
    +----------+----+------+-------+
    | codefilm | un | deux | trois |
    +----------+----+------+-------+
    |       17 |  1 |    1 |     2 |
    |       45 |  1 |    1 |     2 |
    |       63 |  1 |    1 |     2 |
    |      999 |  1 |    1 |     2 |
    +----------+----+------+-------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
     
    Appuyez sur une touche pour continuer...
    Je suppose que c'est ce genre de trigger que tu désirais. Comme tu peux le voir, c'est testé.

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

Discussions similaires

  1. ERROR 1064 (42000) at line 11
    Par huitahayouta dans le forum Sécurité
    Réponses: 1
    Dernier message: 02/06/2014, 08h21
  2. syntax ERROR 1064 (42000)
    Par rezguiinfo dans le forum Débuter
    Réponses: 1
    Dernier message: 31/01/2013, 11h57
  3. Réponses: 1
    Dernier message: 10/09/2009, 18h31
  4. Probleme error 1064
    Par bobludovic dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/01/2007, 08h50
  5. Réponses: 6
    Dernier message: 29/11/2005, 13h22

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