sql >> Databáze >  >> RDS >> Mysql

MySQL INSERT IF (vlastní příkazy if)

INSERT INTO TABLE
SELECT value_for_column1, value_for_column2, ...
FROM wherever
WHERE your_special_condition

Pokud nejsou vráceny žádné řádky z výběru (protože vaše speciální podmínka je nepravdivá), nedojde k vložení.

Pomocí schématu z otázky (za předpokladu, že vaše id sloupec je auto_increment ):

insert into orders (product_id, qty)
select 2, 20
where (SELECT qty_on_hand FROM products WHERE id = 2) > 20;

Pokud není k dispozici dostatek zásob, nevloží se žádné řádky, jinak se vytvoří řádek objednávky.

Pěkný nápad btw!



  1. SQL dotaz kde sloupec ='' vracející se znaky Emoji 🎃 a 🍰

  2. Count(*) vs Count(1) - SQL Server

  3. Výkon sys.partitions

  4. Plánované spuštění uložené procedury na SQL serveru