1

1つにまとめたい3つのステートメントがあります。とにかくそれをする方法はありますか?

入れる

INSERT INTO plants (name, latin_name, type, stock, price, flower_colour, foilage_colour, features, sun_exposure, soil_type, hardiness, competance, height, spread, description, flowering_season)
VALUES
(dandelion, `Taraxacum officinale`, weed, 12, 1.99, white, green, flower, `full sun`, alkaline, `annual hardy`, low, 12cm, 7cm, d, summer)

アップデート

UPDATE plants SET flower_colour='white', soil_type='clay', height='15cm', spread='4cm', description='Weed' AND price='£1.99'

消去

DELETE FROM plants WHERE name='dandelion' AND type='weed'
4

2 に答える 2

1

私が最初に尋ねる質問は、「なぜこれをやりたいのか」です。あなたの例では、エントリを挿入、変更、削除します。データの他の要素を更新するトリガーなどの隠されたロジックがない限り、これら3つのコマンドが実行された結果としてデータレイヤーの状態が変化することはありません。

また、UPDATEステートメントは構文的に正しくありません。or句ANDでしか使えないので、間違えて省略したものがあると思います。WHEREHAVING

挿入、更新、削除を1つのコマンドに組み合わせる方法は実際にはありません。通常、使用しているコードレイヤーから3つのコマンドすべてを1つの「スクリプト」として送信するか、これらのSQLコマンドをストアドプロシージャにカプセル化して実行できますが、各ステートメントは基になるデータとは非常に異なる動作をするため、まず、さまざまなコマンドを再実行します。

于 2013-01-07T19:20:19.590 に答える
1

RDBMSは不可能です。

于 2013-01-07T19:24:59.157 に答える