我正在使用pythontkinter和pymysql连接器。我需要为名为“slots”的表创建一个触发器。如果项目/插槽数超过6,则必须显示自定义消息。代码在mysql工作台中为我工作,但是消息显示在7个项目/槽之后,即插入7个项目之后。下面是我在python中使用的代码。
someMessage = 'Slots more than 6'
sqlTrigger = ("CREATE TRIGGER slotTrigger BEFORE INSERT ON SLOTS \n"
"FOR EACH ROW \n"
"BEGIN \n"
"declare custom_message varchar(100)\n"
"IF (SELECT COUNT(*) FROM slots)>6 THEN \n"
"SET custom_message = %s \n"
"SIGNAL SQLSTATE '45000'\n"
"SET message_text = custom_message;\n"
"END IF;\n"
"END")
valTrigger=someMessage
mycursor.execute(sqlTrigger, valTrigger)
mydb.commit()
错误消息:pymysql.err.programmingerror:
(1064),“您的sql语法有错误;请查看与您的mysql服务器版本相对应的手册,以了解在“if(select count(*)from slots)=7 then\nset custom\u message='slots more than'第5行”附近使用的正确语法
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!