プロシージャを作成しようとしましたが、1時間前に動作しましたが、今はエラーが発生しています。私はプロシージャをエクスポートしました(私のためにテキスト文phpmyadminの出力をコピーしました)、エクスポートしたコードを実行させてもらえませんでした。エクスポートされたコードの下に、エラーレポートphpmyadminが表示されます。phpMyAdminのストアドプロシージャからテキストをコピーした後にsql statmentを実行できません
また、すべてのsqlクエリは単独で動作しますが、エクスポートする前にプロシージャを呼び出していたときに実行されていましたが、クエリはすべての行に影響を与えませんでした。私が間違っているか何かの変数を標識しています(私は私は思いませんが、私はチェックをしました)
私が入力したもの:?
CREATE DEFINER=`root`@`localhost` PROCEDURE `DeleteCard`(IN `@aName` VARCHAR(255))
NO SQL
BEGIN
UPDATE Decks
JOIN Amount ON amount.DeckName = decks.DeckName
SET decks.DeckTotal = Decks.DeckTotal - Decks.DeckTotal
WHERE Amount.AmountName = @aName;
UPDATE Types t1
JOIN Cards ON cards.TypeName = t1.TypeName
JOIN Amount ON amount.CardName = Cards.CardName
SET t1.TypeTotal = t1.TypeTotal - Amount.Amount
WHERE Amount.CardName = @aName;
DELETE
FROM Amount
WHERE CardName = @aName;
DELETE
FROM Cards
WHERE CardName = aName;
END
エラーレポート:
CREATE DEFINER=`root`@`localhost` PROCEDURE `DeleteCard`(IN `aName` VARCHAR(255))
NO SQL
BEGIN
UPDATE Decks
JOIN Amount ON amount.DeckName = decks.DeckName
SET decks.DeckTotal = Decks.DeckTotal - Decks.DeckTotal
WHERE Amount.AmountName = aName;
MySQLは言いました:ドキュメント
1064 - SQL構文に誤りがあります。また、
DELETE
FROM Cards
WHERE CardName = aName; -- should be @aName
:最後の削除クエリではライン7
[phpmyadminを使用してストアドプロシージャを作成する方法と、phpを使用してストアドプロシージャを作成する方法](http://stackoverflow.com/questions/2846516/how-to-write-a-stored-procedure-using) –
デリミタを変更して、最初の '; 'がプロシージャの終わりとして解釈されないようにするか、または専用のストアドルーチンインタフェースを使用する必要があります。 –