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

Podmíněná vložka MySQL

Pokud váš DBMS neklade omezení na to, ze které tabulky při provádění vložení vybíráte, zkuste:

INSERT INTO x_table(instance, user, item) 
    SELECT 919191, 123, 456
        FROM dual
        WHERE NOT EXISTS (SELECT * FROM x_table
                             WHERE user = 123 
                               AND item = 456)

V tomto dual je tabulka pouze s jedním řádkem (původně v Oracle, nyní také v mysql). Logika je taková, že příkaz SELECT vygeneruje jeden řádek dat s požadovanými hodnotami, ale pouze v případě, že hodnoty ještě nebyly nalezeny.

Případně se podívejte na příkaz MERGE.



  1. Ladění výkonu kolenem:Nesprávné použití dočasných tabulek

  2. Jak předáte argument bloku PL/SQL v souboru SQL s názvem START v sqlplus?

  3. ZKONTROLUJTE Omezení na serveru SQL Server

  4. Tipy a triky pro Microsoft Access 2. část – Formuláře