Ça change de la déclaration de délimiteur de ; à //. Il en est ainsi vous pouvez écrire ; dans votre définition du déclencheur sans que le client MySQL mal interpréter que comme ce qui signifie que vous avez terminé avec elle.
Noter que lors de la modification de l'arrière, c'est DELIMITER ;, pas DELIMITER; que j'ai vu des gens essayer de faire.
Est-il la syntaxe de mysql ou mysql shell de commande?
En SQL, vous fermez chaque instruction par un délimiteur, qui est par défaut un point-virgule (;). Dans un déclencheur, vous devez écrire plusieurs instructions, chacune se termine par un point-virgule. De dire à MySQL que ces points-virgules ne sont pas la fin de votre déclencheur déclaration, vous pouvez changer temporairement le délimiteur de ; de //, de sorte que MySQL va savoir que le déclencheur de la déclaration se termine seulement quand il econunters un //.
Je pense que vous avez exprimé plus clairement que l'on a accepté la réponse!
Lorsque l'on travaille avec mysql shell de commande, nous avons utilisé ; délimiteur à la clôture de chaque déclaration. Toutefois, dans le cas où, nous voulons construire les procédures stockées et les déclencheurs, nous avons besoin d'ajouter le point-virgule ; dans ces déclarations ont également.
delimiter //createtrigger log_students after inserton students
for each rowbegininsertinto log_students(change_by, change_at)values(USER(), NOW());end//
delimiter ;
Simple définit la fin de la déclaration de délimiteur (; semi-colon en standard, par défaut de SQL).
Changer le caractère pourrait être utile si vous souhaitez utiliser ; dans votre SQL, ou que vous êtes à l'aide d'embedded SQL (où il peut conduire à la confusion). de même, la // dans votre exemple pourrait entraîner une certaine confusion dans embedded SQL, ou vous pouvez l'utiliser dans votre SQL. Donc, implique l'utilisation DELIMITER pour définir le séparateur qui est appropriée pour votre demande et vos besoins.
delimiter est le marqueur de la fin de chaque commande que vous envoyez à la ligne de commande de mysql client.
delimiter n'est pas seulement lié à des déclencheurs, mais la définition de procédures stockées et les déclencheurs est un très bon cas d'utilisation comme vous le souhaitez pour contenir des points-virgules (;) qui, sinon, la valeur par défaut delimiter.
Ça change de la déclaration de délimiteur de
;
à//
. Il en est ainsi vous pouvez écrire;
dans votre définition du déclencheur sans que le client MySQL mal interpréter que comme ce qui signifie que vous avez terminé avec elle.Noter que lors de la modification de l'arrière, c'est
DELIMITER ;
, pasDELIMITER;
que j'ai vu des gens essayer de faire.En SQL, vous fermez chaque instruction par un délimiteur, qui est par défaut un point-virgule (;). Dans un déclencheur, vous devez écrire plusieurs instructions, chacune se termine par un point-virgule. De dire à MySQL que ces points-virgules ne sont pas la fin de votre déclencheur déclaration, vous pouvez changer temporairement le délimiteur de ; de //, de sorte que MySQL va savoir que le déclencheur de la déclaration se termine seulement quand il econunters un //.
Ajouter un exemple:
Lorsque l'on travaille avec mysql shell de commande, nous avons utilisé
;
délimiteur à la clôture de chaque déclaration. Toutefois, dans le cas où, nous voulons construire les procédures stockées et les déclencheurs, nous avons besoin d'ajouter le point-virgule;
dans ces déclarations ont également.Simple définit la fin de la déclaration de délimiteur (
;
semi-colon en standard, par défaut de SQL).Changer le caractère pourrait être utile si vous souhaitez utiliser
;
dans votre SQL, ou que vous êtes à l'aide d'embedded SQL (où il peut conduire à la confusion). de même, la//
dans votre exemple pourrait entraîner une certaine confusion dans embedded SQL, ou vous pouvez l'utiliser dans votre SQL. Donc, implique l'utilisationDELIMITER
pour définir le séparateur qui est appropriée pour votre demande et vos besoins.Lire l' (ummmm) documentation de mysql.
delimiter
est le marqueur de la fin de chaque commande que vous envoyez à la ligne de commande de mysql client.delimiter
n'est pas seulement lié à des déclencheurs, mais la définition de procédures stockées et les déclencheurs est un très bon cas d'utilisation comme vous le souhaitez pour contenir des points-virgules (;) qui, sinon, la valeur par défautdelimiter
.