MySQLでSQLスクリプトファイルを作成しています。スクリプトは、テーブルといくつかのストアドプロシージャを作成するだけです。2つの質問があります。
テーブルが存在するかどうかを確認する必要があります。createtableステートメントをスキップしてください。ただし、プロシージャが存在する場合は、それを削除してから新しいプロシージャを作成します。これが私が試しているコードです-
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$$
「DROPPROCEDUREIFEXISTSusp_StudentRetrieveの近くのSQL構文エラー」というエラーがあります。
PHPコードを使用してスクリプトファイルを実行するための最良の方法は何ですか?
よろしくお願いします。
リテッシュ
PS-役立つ場合は、MySQLWorkbenchV5.2とMySQL5.1を使用しています。