1 dbテーブルからいくつかの列を選択する必要がある非常に単純なストアドプロシージャがありますが、「一致しません」構文に関連するエラーが発生します。ここに私の手順です:一致するMySqlストアドプロシージャ
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `searchItem`(IN `Importer` VARCHAR(100), IN `Description` TEXT)
BEGIN
SELECT model, date_of_production, horsepower, importer, description FROM cars WHERE importer = Importer AND MATCH (description) AGAINST(Description) ORDER BY date_of_production ASC;
END$$
DELIMITER ;
である私は、プロシージャをテストするとき、それは私にエラーを与える「#1210 - 一致させるために不正な引数」私は、クエリをテストしてみましたプロシージャのうち、それが動作するので、私は問題がプロシージャ自体のsintaxにあると推測しています。事前に助けてくれてありがとう!
これは、列と変数名のあいまいである可能性が高いと思われます。「description」/「Description」 - MATCH(column)AGAINST(program_variable)のバリエーションが異なります。 MATCH(列)AGAINST(列) 'MATCH(program_variable)AGAINST(プログラム可変)'のいずれも有効ではないことを文書化された制限が行ごとに変更できることを知っています。そして、それはこれらの後者の2つの方法のうちの1つがほぼ確実に解決されていると思いますか? –