En raison de besoins professionnels, je dois écrire un nombre personnalisé de lignes pour mysql, comme suit
DELIMITER $$
DROP FUNCTION IF EXISTS `onlineFunction` $$
CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETOURNE VARCHAR(255)
BEGIN
IF(rrr='online') THEN RETURN 'online';END IF;
END $$
DELIMITER ;
La première ligne DELIMITER définit un identifiant de fin, car MySQL utilise par défaut un point-virgule comme fin de l'instruction SQL, et la fonction utilise un point-virgule à l'intérieur du corps, il sera donc suivi par Les conflits de terminateur SQL par défaut, vous devez donc d'abord définir un autre symbole comme terminateur SQL. Si cette définition n'est pas ajoutée...
Code d'erreur : 1064
Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près de la "fin" de la ligne. 1
La deuxième ligne est Supprimez la classe du même nom, sinon...
Code d'erreur : 1304
FUNCTION onlineLa fonction existe déjà
Le troisième ligne Un nom de fonction, une fonction variable et un type de retour
La quatrième ligne début est le début, qui correspond à fin$$
La cinquième ligne est le if déclaration de jugement , le format est
if(...) alors
....;
elseif
....;
else
. ...;
end if;
return ..;
Parfois, mysql ne peut pas créer une fonction personnalisée car la fonction 2 n'est pas activée
Entrez des variables d'affichage comme '%func% '; La commande
verra l'état de log_bin_trust_function_creators. S'il est désactivé, cela signifie que la fonction personnalisée est fermée
Entrez la commande set global log_bin_trust_function_creators=1;
pour définir log_bin_trust_function_creators Activez la fonction de fonction personnalisée
Mais ce paramètre est une solution temporaire, car l'état passera à OFF après le redémarrage automatique de MySQL, vous devez donc ajouter "--" dans
au démarrage du service. paramètre log-bin-trust-function-creators=1 ”.
Ou ajoutez log-bin-trust-function-creators=1 à la section [mysqld] dans my.ini (my.cnf).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!