我想编写一个脚本来创建MySQL数据库的操作,但是我要检查它是否exsit第一。
我知道该怎么做了一个表,但是当我使用存储过程的语法相同,它不会编译。
有谁知道?谢谢
刚落的过程,如果它确实存在,然后重新添加它:
DROP PROCEDURE IF EXISTS my_procedure;
CREATE PROCEDURE my_procedure()
SELECT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = 'db_name' AND name = 'stored_proc_name');
所以,你可以这样做:
IF NOT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = 'db_name' AND name = 'stored_proc_name') THEN
....
END IF;
它不存在。我们必须写模仿相同的功能的存储过程。基本上,我们创建通过调用存储过程,做了“是否存在”检查存储过程。