sql >> データベース >  >> RDS >> Mysql

MySQLvarchar変数の宣言と使用

    MySQLWorkbenchを使用して同じ問題が発生しました。 MySQLドキュメント によると 、DECLARE 「ステートメントは、ストアドプログラム内のローカル変数を宣言します。」これは、ストアドプロシージャ/関数でのみ機能することが保証されていることを意味しているようです。

    私にとっての解決策は、DECLAREを削除することでした。 ステートメントを作成し、SETに変数を導入します 声明。あなたのコードにとって、それは次のことを意味します:

    -- DECLARE FOO varchar(7); 
    -- DECLARE oldFOO varchar(7);
    
    -- the @ symbol is required
    SET @FOO = '138'; 
    SET @oldFOO = CONCAT('0', FOO);
    
    UPDATE mypermits SET person = FOO WHERE person = oldFOO;
    


    1. 単一のクエリでページ付けされた行と合計数を取得します

    2. MySQLへのJavaファイルのアップロード

    3. plpgsqlでjsonbnullを識別するためのベストプラクティス

    4. SELECTステートメントの結果を更新します