brAthena / brAthena20180924

brAthena - Emulador Oficial
http://forum.brathena.org
GNU General Public License v3.0
53 stars 73 forks source link

Erro ao importar principal.sql #41

Closed italloalb closed 7 years ago

italloalb commented 7 years ago

Erro` Comando SQL:

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 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 ON login

FOR EACH ROW BEGIN

' at line 2

carloshenrq commented 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?

carloshenrq commented 7 years ago

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;

italloalb commented 7 years ago

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?

carloshenrq commented 7 years ago

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 ;

italloalb commented 7 years ago

Deu certo dessa forma Carlos, mais uma vez obrigado pela atenção ! :)

carloshenrq commented 7 years ago

Vou commitar essa correção! Obrigado você pela ajuda e paciência.