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

Administration MySQL Discussion :

Configurer le NO_AUTO_VALUE_ON_ZERO dans un script SQL [MariaDB]


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut Configurer le NO_AUTO_VALUE_ON_ZERO dans un script SQL
    Bonjour,

    Lorsque je lance le script SQL ci-dessous, j'obtiens une erreur :
    #1193 - Variable système 'NO_AUTO_VALUE_ON_ZERO' inconnue
    Pourtant, la doc MariaDB mentionne bien ce sql_mode !
    NO_AUTO_VALUE_ON_ZERO If set don't generate an AUTO_INCREMENT on INSERT of zero in an AUTO_INCREMENT column. Normally both zero and NULL generate new AUTO_INCREMENT values.
    Le script :
    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
    -- Création de la table pour la variable SISE AMENA
    CREATE TABLE pef.tr_sise_cursus_amenage_amn 
    (
    	amn_id TINYINT NOT NULL AUTO_INCREMENT COMMENT 'Identifiant du cursus aménagé' , 
    	amn_code CHAR(1) NOT NULL COMMENT 'Code du cursus aménagé' , 
    	amn_libelle VARCHAR(15) NOT NULL COMMENT 'Libellé du cursus aménagé' , 
    	amn_ordre TINYINT NOT NULL COMMENT 'Ordre d''affichage dans les listes' , 
    	PRIMARY KEY (amn_id), 
    	UNIQUE xu_amn_code (amn_code), 
    	UNIQUE xu_amn_libelle (amn_libelle), 
    	UNIQUE xu_amn_ordre (amn_ordre)
    ) ENGINE = InnoDB;
     
    SET NO_AUTO_VALUE_ON_ZERO = 1;
     
    -- Insertion des données de référence dans la table
    INSERT INTO pef.tr_sise_cursus_amenage_amn (amn_id, amn_code, amn_libelle, amn_ordre)
    VALUES (0, '', 'Aucun cursus aménagé', 0),
    	(1, '1', 'Cursus aménagé', 1),
    	(2, '2', 'Semestrialisation', 2),
    	(3, '3', 'Césure', 3);
     
    SET NO_AUTO_VALUE_ON_ZERO = 0;
    Je suis en "Server version: 10.1.37-MariaDB Mageia MariaDB Server"
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Bon ben j'ai trouvé tout seul ; je n'avais pas lu toute la doc ; je m'étais arrêté à la liste des variables.

    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
    -- PAF_DDL_2018-03-18.sql
     
    -- Création de la table pour la variable SISE AMENA
    CREATE TABLE pef.tr_sise_cursus_amenage_amn 
    (
    	amn_id TINYINT NOT NULL AUTO_INCREMENT COMMENT 'Identifiant du cursus aménagé' , 
    	amn_code CHAR(1) NOT NULL COMMENT 'Code du cursus aménagé' , 
    	amn_libelle VARCHAR(20) NOT NULL COMMENT 'Libellé du cursus aménagé' , 
    	amn_ordre TINYINT NOT NULL COMMENT 'Ordre d''affichage dans les listes' , 
    	PRIMARY KEY (amn_id), 
    	UNIQUE xu_amn_code (amn_code), 
    	UNIQUE xu_amn_libelle (amn_libelle), 
    	UNIQUE xu_amn_ordre (amn_ordre)
    ) ENGINE = InnoDB;
     
    SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',NO_AUTO_VALUE_ON_ZERO');
     
    -- Insertion des données de référence dans la table
    INSERT INTO pef.tr_sise_cursus_amenage_amn (amn_id, amn_code, amn_libelle, amn_ordre)
    VALUES (0, '', 'Aucun cursus aménagé', 0),
    	(1, '1', 'Cursus aménagé', 1),
    	(2, '2', 'Semestrialisation', 2),
    	(3, '3', 'Césure', 3);
     
    SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'NO_AUTO_VALUE_ON_ZERO', '');
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. problème de séparateurs dans un script sql
    Par foulla dans le forum Langage SQL
    Réponses: 13
    Dernier message: 09/06/2008, 10h18
  2. Réponses: 6
    Dernier message: 04/06/2008, 13h27
  3. Erreur dans un script sql sous ADOCommand
    Par thibouille dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/11/2007, 17h02
  4. Prb de syntaxe avec une Variable dans un script SQL 2005
    Par davidso dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/03/2007, 18h14
  5. Msg 2714 (objet deja existant) dans un script SQL Server
    Par Makrier dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/11/2006, 11h40

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