Closed italloalb closed 7 years ago
Você está realizando essa importação de que forma?
Fiz uma importação aqui via linha de comando direto do mysql windows e centos 7 (usando o mariadb) e não obtive erro durante a importação. A Forma de importação oficial suportada pelos bancos de dados está realizando a importação sim.
Devo repetir, como você está fazendo a importação?
Você poderia testar usando da seguinte forma?
DROP TRIGGER IF EXISTS login_insert
;
CREATE TRIGGER login_insert
BEFORE INSERT ON login
FOR EACH ROW
BEGIN
IF NEW.sex <> 'S' AND NEW.last_password_change = 0 THEN SET NEW.last_password_change = UNIX_TIMESTAMP(); END IF;
END;
DROP TRIGGER IF EXISTS login_update
;
CREATE TRIGGER login_update
BEFORE UPDATE ON login
FOR EACH ROW
BEGIN
IF OLD.sex <> 'S' AND MD5(OLD.user_pass) <> MD5(NEW.user_pass) THEN SET NEW.last_password_change = UNIX_TIMESTAMP(); END IF;
END;
Olá Carlos, obrigado pela atenção. Carlos como sou novo no fórum, estou seguindo o tutorial para iniciantes, usando o XAMP como recomendado no tutorial e tentei importar das duas formas, direto na opção importar e colocando o código ... Das duas formas apresentou esse erro.
Estou fazendo errado?
Hm... instalei um pma aqui e rodou dessa forma:
DELIMITER ;;
DROP TRIGGER IF EXISTS login_insert
;;
CREATE TRIGGER login_insert
BEFORE INSERT ON login
FOR EACH ROW
BEGIN
IF NEW.sex <> 'S' AND NEW.last_password_change = 0 THEN SET NEW.last_password_change = UNIX_TIMESTAMP(); END IF;
END;;
DROP TRIGGER IF EXISTS login_update
;;
CREATE TRIGGER login_update
BEFORE UPDATE ON login
FOR EACH ROW
BEGIN
IF OLD.sex <> 'S' AND MD5(OLD.user_pass) <> MD5(NEW.user_pass) THEN SET NEW.last_password_change = UNIX_TIMESTAMP(); END IF;
END;;
DELIMITER ;
Deu certo dessa forma Carlos, mais uma vez obrigado pela atenção ! :)
Vou commitar essa correção! Obrigado você pela ajuda e paciência.
Erro` Comando SQL:
DROP TRIGGER IF EXISTS
login_insert
; CREATE TRIGGERlogin_insert
BEFORE INSERT ONlogin
FOR EACH ROW BEGINIF NEW.sex <> 'S' AND NEW.last_password_change = 0 THEN SET NEW.last_password_change = UNIX_TIMESTAMP(); END IF;
END Mensagens do MySQL : Documentação
1064 - 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 'CREATE TRIGGER
login_insert
BEFORE INSERT ONlogin
FOR EACH ROW BEGIN
' at line 2