次の SQL クエリがあります。
IF EXISTS(SELECT * FROM component_psar WHERE tbl_id = '2' AND row_nr = '1')
UPDATE component_psar
SET col_1 = '1', col_2 = '1', col_3 = '1', col_4 = '1', col_5 = '1',
col_6 = '1', unit = '1', add_info = '1', fsar_lock = '1'
WHERE tbl_id = '2' AND row_nr = '1'
ELSE
INSERT INTO component_psar (tbl_id, row_nr, col_1, col_2, col_3, col_4,
col_5, col_6, unit, add_info, fsar_lock)
VALUES ('2', '1', '1', '1', '1', '1', '1', '1', '1', '1', 'N')
すべての列を「1」に設定しようとしているという事実は無視してください。あくまでもサンプルデータです。:)
とにかく、このクエリを実行すると構文エラーが返されます。
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM
component_psar WHERE tbl_id = '2' AND row_nr = '1') UP' at line 1
私はそれをじっと見つめ、インターネットを30分ほど検索しましたが、この想定される構文エラーを見つけることができません. おそらく、私が見逃している本当にばかげたものになるでしょうが、これについては皆さんの助けを借りることができます.