我正在 MySQL 中创建一个 SQL 脚本文件。该脚本只是创建一个表和一些存储过程。我有两个问题。
我需要检查表是否存在,跳过创建表语句。但如果存在程序,请将其删除,然后创建一个新程序。这是我正在尝试的代码 -
CREATE TABLE IF NOT EXISTS Student ( Id INT PRIMARY KEY, Name VARCHAR(100) NOT NULL ); DROP PROCEDURE IF EXISTS usp_StudentInsert; DELIMITER $$ CREATE PROCEDURE usp_StudentInsert( id INT, name VARCHAR(100)) BEGIN INSERT INTO Student(Id, Name) VALUES(id, name); END$$ DROP PROCEDURE IF EXISTS usp_StudentRetrieve; DELIMITER $$ CREATE PROCEDURE usp_StudentRetrieve(studentId INT) BEGIN SELECT * FROM Student WHERE Id = studentId; END$$
出现错误“DROP PROCEDURE IF EXISTS usp_StudentRetrieve 附近的 SQL 语法错误”;
使用 PHP 代码执行脚本文件的最佳方法是什么?
提前谢谢你。
里特什
PS - 如果有帮助,我将 MySQL Workbench V5.2 与 MySQL 5.1 一起使用。