[解決済み] MySQLのDECLAREでSELECT INTO変数を使用すると構文エラーが発生する?
2023-01-23 12:03:52
質問
ある変数に一つの値をSELECTしたい。以下のように試してみました。
DECLARE myvar INT(4);
-- すぐに何らかの構文エラーを返します。
SELECT myvalue
FROM mytable
WHERE anothervalue = 1;
-- 1つの整数を返します。
SELECT myvalue
INTO myvar
FROM mytable
WHERE anothervalue = 1;
-- は動作しません。また、@myVarも試してみました。
ストアドプロシージャや関数の外でDECLAREを使用することは可能でしょうか?
ユーザー変数の概念を理解していないだけかもしれませんが...。今試してみました。
SELECT myvalue INTO @var FROM `mytable` WHERE uid = 1;
SELECT @var;
...これは、想定されたとおりに動作しました。しかし、一度にそれぞれのクエリを実行すると、@var NULLが得られます。
どのように解決するのですか?
最終的には、ストアドプロシージャで解決しました。
以下はその結果です。
DELIMITER //
CREATE PROCEDURE test ()
BEGIN
DECLARE myvar DOUBLE;
SELECT somevalue INTO myvar FROM mytable WHERE uid = 1;
SELECT myvar;
END//
DELIMITER ;
call test();
関連
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
mysql5.7のインストールと、無料・長期利用を目的としたNavicateの導入プロセスについて
-
[解決済み] MySQLで1つを除くすべての列を選択しますか?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] MySQL - SELECTクエリに基づくUPDATEクエリ
-
[解決済み] MySQLのことです。変数 vs. 変数。その違いは何ですか?
-
[解決済み] MySQLで変数を宣言する方法は?
-
[解決済み] INTからVARCHARへの変換 SQL
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
MySQLインストールチュートリアル(Linux版
-
MySQLの悲観的ロックと楽観的ロックの実装スキーム
-
[解決済み] ユニークなテーブル/エイリアスではない
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
群関数解の無効な使用
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] mysqladminのフラッシュホストでブロックを解除する方法
-
[解決済み] MySQLのプロセスリストを見つけ、それらのプロセスを終了させる方法は?
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?