sql >> Database >  >> RDS >> Mysql

MySQL invoegen waar niet bestaat / indien niet bestaat

INSERT instructies ondersteunen twee syntaxis:een die gebruikmaakt van VALUES , en een die een zoekopdracht gebruikt. Je kunt ze niet combineren, en alleen de querysyntaxis ondersteunt WHERE clausules. Dus:

INSERT INTO `surfed_site` (user, site)
SELECT '123', '456' FROM (SELECT 1) t
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)
  1. Eigenlijk drie syntaxis; je kunt ook SET . gebruiken . Als u slechts één record invoegt, is deze functioneel equivalent aan VALUES , maar waarschijnlijk beter leesbaar.



  1. Hoe maak je een echte één-op-één relatie in SQL Server

  2. Meest efficiënte aanpak voor meertalige PHP-website

  3. WSJDBCConnection verpakt geen objecten van het type Oracle jdbc Connection

  4. Een zeer beschikbare canvas LMS implementeren met een PostgreSQL-databasecluster