実現したいこと
Mysqlで存在しなければInsert、存在する場合はUpdateを行いたいです
前提
DBの都合上、ON DUPLICATE KEYでの処理はできません。
発生している問題・エラーメッセージ
静的解析: 解析中に 3 個のエラーが見つかりました。 認識されないステートメント形式です。 (near "IF" at position 96) 認識されないステートメント形式です。 (near "ELSE" at position 279) 認識されないステートメント形式です。 (near "END" at position 416) MySQL のメッセージ: ドキュメント #1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : 'IF @row_count = 0 THEN INSERT INTO t_juchu_dtl ( juchu_id, ' 付近 3 行目
試したこと
以下のSQLを実行して実現しようとしましたが、Phpadmin上ではTHENやINSERTのところで赤い波線が出てしまいました
該当のソースコード
DELIMITER // SET @row_count = (SELECT COUNT(*) FROM t_juchu_dtl WHERE juchu_id = '12' AND line_no = '1'); IF @row_count = 0 THEN INSERT INTO t_juchu_dtl ( juchu_id, line_no, syohin_cd ) VALUES ( '12', '1', '1' ); ELSE -- UPDATE文 UPDATE t_juchu_dtl SET syohin_cd = '1' WHERE juchu_id = '12' AND line_no = '1'; END IF // DELIMITER ;
補足情報(FW/ツールのバージョンなど)
サーバのバージョン: 8.0.33 - MySQL Community Server - GPL
回答1件
あなたの回答
tips
プレビュー