webForumDet fria alternativet

Kan man hämta och radera rad i mySQL utan två SQL-satser? PHP PDO

Databaser & SQL

1 svar · 1 125 visningar · startad av xtreme

Medlem sedan juli 20002 056 inlägg
Frågan#1

Använder mySQL, PHP med PDO. Mitt mål är följande

  1. Hämta ett värde från databasen
  2. Spara värdet i en variabel
  3. Radera raden med värdet från databasen

Detta kan göras med två SQL-satser, först en select där jag sparar i en variabel och sedan raderar med delete ex

      $sql = "SELECT image_name FROM image WHERE image_id = :image_id LIMIT 1;
              DELETE FROM image WHERE image_id = :image_id;";
      $imageName = $query->fetch()->image_name;

Har dock vissa SQL-satser som är mer komplicerade med JOIN etc och det känns lite fel att skriva nästan två identiska SQL-satser. Går det att lösa på något smidigare sätt (mindre och framförallt mindre redundant/samma kod)?

Medlem sedan mars 20034 471 inlägg
#2

Nej, du kan inte både hämta ut värden och radera rader samtidigt.

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)