Försöker lägga till en if_exists method

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
stephy



Medlem i: 152 dagar

Status: Offline



#741628
Inlägg Skrivet: 2017-04-19 12:42      Ämne: Försöker lägga till en if_exists method Citera

Använder Postgres för insert method . Önskar att lägga till en rad kod som kontrollerar om objekten som läggs in i databasen är unika eller ej.

KOD:
1:
$i=0;
2:
foreach ($items as $item) {
3:
if ($i < 3) {
4:
   
5:
   // Prepare a query for execution
6:
   $result = pg_prepare($dbconn, "my_query", "INSERT INTO xml_new (creator, title, image) VALUES ($1, $2, $3)");
7:
 
8:
    // Execute the prepared query.
9:
    $result = pg_execute($dbconn, "my_query", array($item['creator'], $item['title'], $item['image']));
10:
 
11:
   $i++;  //Add one per article ( Loop 3 articles )
12:
}
13:
}
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4218 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741629
Inlägg Skrivet: 2017-04-19 13:28      Ämne: Citera

Vilket värde definerar objektet som unikt?
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Koenigsegg



Medlem i: 3020 dagar

Status: Offline



#741630
Inlägg Skrivet: 2017-04-19 13:31      Ämne: Citera

Det beror på var du vill ha din logik, men:
* Du kan kanske ha det i databasen. Du kan bestämma att värdena i en kolumn bara får förekomma en gång var, dvs de ska vara unika. Eller så kan du involvera flera kolumner och säga att varje kombination av dom kolumnerna måste vara unik. "unique index" eller "unique constraint" i sökmotorn.

* Du kan ha det i koden. Då gör du en SELECT-fråga först, nåt i stil med "SELECT id FROM xmltable WHERE this=... AND that=..." och kollar om du får nåt tillbaka.

Det där är grundprincipen. Sen kan man bygga ut det och göra livet mera komplicerat Wink.
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
stephy



Medlem i: 152 dagar

Status: Offline



#741631
Inlägg Skrivet: 2017-04-19 14:55      Ämne: Citera

Unikt som = värdet existerar inte " .

Vill slippa dubbletter. Smile
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
stephy



Medlem i: 152 dagar

Status: Offline



#741633
Inlägget är accepterad som det rätta svaret Skrivet: 2017-04-20 10:29      Ämne: Citera

Löste det.

Allt man behövde göra var att lägga till en :
ALTER TABLE table_name ADD UNIQUE (column1);

Så kontrollerar insert metoderna varje gång om värde i column1. Finns redan så blir det inte inserted .
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic