bir tetikleyici oluşturma ÖNCE sqlalchemy içinde trigger INSERT: mysql-tezgah kodu yürütülmesiDELIMITER/I oluşturmak için gereken sqlalchemy
DELIMITER |
CREATE TRIGGER set_rank BEFORE INSERT ON authors
FOR EACH ROW BEGIN
IF NEW.rank = 0 THEN
SET NEW.rank = (SELECT IFNULL(MAX(a.rank),0) + 1
FROM authors AS a
WHERE a.id = NEW.pub_id);
END IF;
END |
DELIMITER ;
gayet güzel çalışıyor, ama bir "Sen SQL bir hata var kılan benim asıl kodunda yürütülen sözdizimi" istisna:
from sqlalchemy.sql.expression import text
connection = db.session.connection()
text(..., connection).execute();
gayet SELECT SLEEP(1)
, CREATE TABLE test (id INT)
hatta USE some_db
işleri yayınlanıyor.
(1064, "nbir TRIGGER BE set_rank \ ... ... yakın 'DELIMITER Eğer SQL sözdizimi bir hata var"):
MySQL hata mesajı alıyorum Bu
DELIMITER ürününü yanlış kullandığımı kesinlikle biliyorum. Bu bağlamda doğru sözdizimi nedir/Sorunumu nasıl giderebilirim?
Bu "DELIMETER" ifadesi ne işe yarar? Sadece kaldır onu. – Gerrat