列が存在しない場合は追加しようとしています。私の質問は次のとおりですSQLテーブルに存在する場合は列を追加し、それを設定します
IF NOT EXISTS (
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'table_name'
AND TABLE_NAME = 'adapter'
AND COLUMN_NAME = 'adapter_ip'
)
BEGIN
ALTER TABLE `adapter` ADD `adapter_ip` varchar(15) NOT NULL DEFAULT '192.168.194.57';
UPDATE `adapter` SET `adapter_ip` = '192.168.194.57';
END;
ただし、エラーが発生するたびに私は間違って何をしているのですか?私はテストし、私が実行する場合
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'table_name'
AND TABLE_NAME = 'adapter'
AND COLUMN_NAME = 'adapter_ip'
それ自体が動作します。 if文に入れるとすぐに、1行目で構文が間違っているとエラーが出ます。そのため私はBEGIN
をTHEN
に置き換えようとしましたが、それもうまくいきませんでした。これを引き起こしているのは何ですか?誰にも助けてくれてありがとう。
エラーは何ですか? – JonH
@JonH問題は、BEGINをTHENとENDで置き換えようとしたことですが、1行目に間違った構文を記述する際にエラーが発生するたびに、理由を理解できないようです。 – Quillion