Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL wstawia się tylko wtedy, gdy warunek jest spełniony

Możesz użyć WHERE klauzulę o tym. Przekształć swoje INSERT VALUES na INSERT SELECT i dodaj WHERE klauzula.

Na przykład

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;

Jeśli warunek jest prawdziwy, wstawi wiersz. Jeśli Warunek jest fałszywy, SELECT zwróci zero wierszy, a zatem INSERT wstawi zero wierszy.

Jeśli powyższe zapytanie nie zostanie uruchomione z powodu błędu składni, możesz, jak wspomniał @spencer7593, dodać FROM DUAL .

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;

DUAL table jest zasadniczo tabelą fikcyjną, która ma przewidywalną zawartość i można na niej polegać, że zawsze ma co najmniej jeden wiersz .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przewodnik po zrozumieniu wzorców skalowania bazy danych

  2. Jak w VB.net możemy zakodować ciąg znaków dla SQL

  3. SQL — JEŚLI ISTNIEJE UPDATE ELSE INSERT Błąd składni

  4. Nie mogę zainstalować mysql gem na OS X

  5. Jeśli istnieją dwa takie same pola, wstaw inne zaktualizuj