[disc/php/mysql] Een insert in een select

Pagina: 1
Acties:

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
Normaal gebruik ik altijd 2 query's om te controleren of deze gegevens al in de database staan. Eerst een SELECT wanneer de informatie nog niet aanwezig is dan INSERT ik hem. Is het ook mogelijk om dit in een query te doen?

Hier wordt niet gecontroleerd of het al aanwezig is.
PHP:
1
$query = "SELECT * FROM table INSERT INTO table VALUES ('$tekst')";

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
dat wat hierboven staat lijkt me niet echt een geldige query iig ;)

INSERT en SELECT zijn imo twee verschillende statements die je niet zomaar bij elkaar in een query kunt stoppen.

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Valt weinig aan te discussiëren, MySQL ondersteunt geen subqueries.
PostgreSQL wel.

Verwijderd

maar om daar nou PostgreSQL voor aan te schaffen... die legt een server al bijna plat als je een update doet in een table met meer dan 400 records...

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
PostgreSQL is open source, dus aanschaffen is waarschijnlijk niet het juiste woord. Daarnaast is juist PostgreSQL uitermate geschikt voor grote record sets. Ik vermoed dus dat je een beetje in de war bent met een ander rdbms. :)

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Verwijderd schreef op 01 september 2002 @ 18:46:
maar om daar nou PostgreSQL voor aan te schaffen... die legt een server al bijna plat als je een update doet in een table met meer dan 400 records...
onzin!

dat PostgreSQL vrijwel alle SQL statements ondersteund en MySQL niet... is de keuze voor mij snel gemaakt, ik vind foreign keys, subqueries etc toch wel belangrijk...

Steun Elkaar, Kopieer Nederlands Waar!


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

MySQL is een stuk sneller daar valt niet over te discussieren. Maarja, wat wil je als je de helft van de sql standaard niet ondersteund. Beetje PHP mentaliteit, "We do not enforce foreign key constraints, because ... well...because it's a lot faster not to do so! that's why..uhhh..yeah.." ;)

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
Hoe zouden jullie het dan met mysql oplossen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 01 september 2002 @ 18:46:
maar om daar nou PostgreSQL voor aan te schaffen... die legt een server al bijna plat als je een update doet in een table met meer dan 400 records...

Das knap, ik kan er updates mee doen in tabellen van 7Gigabyte zonder dat ie plat ligt...


Maarreuhm, dit kan NIET met een subselect ;)
Kijk voor mysql es naar 'INSERT IGNORE' (heeeel vies) en REPLACE INTO (ook heeel vies)

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Ik doe het altijd zo (naja iets anders dan maar om het kort te houden...), bv met een IP log voor een poll ofzo:

PHP:
1
2
3
4
5
6
$query = 'INSERT INTO iplog VALUES(id, ip)';
if (!mysql_query($query)) {
   print('U heeft al gestemd');
} else {
   print('Bedankt voor uw stem');
}
Pagina: 1