尝试在MySQL中声明一个新的存储函数时出现错误(服务器版本:5.5.13)
基本上,我有一个大表,根据它们的起始方式对字符串进行分类.我的函数接受一个字符串(来自用户输入),然后通过在数据库中搜索分类来告诉您该字符串的分类.它有点像LIKE查询,除了反向,因为它是包含完整字符串的用户输入,数据库包含要搜索的字符串.希望有道理!
它背后的概念和逻辑运行良好,因为我用PHP编写/开发它并且它工作得很漂亮,但是当试图将其转换为存储函数时,我从MySQL收到错误.该函数的代码是:
delimiter $
DROP FUNCTION IF EXISTS get_string_class$
CREATE FUNCTION get_string_class(mystring VARCHAR(15))
RETURNS VARCHAR(15)
READS SQL DATA
BEGIN
DECLARE i INT;
SET i = 2;
DECLARE mystringlength INT;
SET mystringlength = LENGTH(mystring);
DECLARE segment VARCHAR(15);
DECLARE String_Class VARCHAR(15);
SET String_Class = NULL;
WHILE i <= mystringlength DO
SET segment = LEFT(mystring, i);
SET String_Class = (SELECT String_Class FROM string_class_list WHERE String_Begins = segment);
IF SELECT FOUND_ROWS() = 1 THEN
RETURN String_Class
END IF;
i = i + 1; …Run Code Online (Sandbox Code Playgroud) 我正在编写一个 Python 程序,它侦听 RFID 输入,并且仅在提供有效令牌时才运行。该程序还有一个 GUI,我想使用 TkInter 构建它。
拼图的两个部分单独工作都很好,但是就目前而言,我似乎可以选择其中之一 - 但不能同时选择两者!我可以很好地绘制我的 TkInter 窗口,但是,如果我调用该函数开始侦听 RFID 输入,那么当该位运行正常并且工作正常时......没有 GUI。
代码如下。到目前为止,您可以通过我在终端上的打印输出来查看我的调试工作...
#!/usr/bin/env python3
导入系统
导入 MySQL 数据库
如果 sys.version_info[0] == 2:
从 Tkinter 导入 *
将 Tkinter 导入为 ttk
别的:
从 tkinter 导入 *
将 tkinter 导入为 ttk
类 Fullscreen_Window:
def __init__(self):
self.tk = Tk()
self.frame = Frame(self.tk)
self.frame.pack()
ttk.Button(self.tk, text="hello world").pack()
self.tk.attributes('-zoomed', True)
self.state = False
self.tk.bind("<F11>", self.toggle_fullscreen)
self.tk.bind("<Escape>", self.end_fullscreen)
打印(“初始化运行”)
self.listen_rfid() # 注释掉这个会使 GUI 出现,取消注释意味着没有 GUI :(
def toggle_fullscreen(self, event=None):
self.state = … function ×1
integer ×1
mysql ×1
procedure ×1
python ×1
python-2.7 ×1
python-3.x ×1
tkinter ×1
variables ×1