Aiuto INSERT INTO... ON DUPLICATE KEY UPDATE

ciopin

Utente Attivo
26 Mar 2010
59
0
0
Ciao a Tutti,

Vi scrivo perchè avrei bisogno di una mano per capire come sistemare un lavoro. Ti spiego.

io ho una tabella con i campi

nome, cognome, email, cell, città, annonascita, fonte1, fonte2, fonte3

in questa tabella io importerò una serie di N utenti provenienti da una delle 3 fonti. quello che però potrebbe capitare è che un utente è contemporanemante sia nella fonte 1 che nella fonte 2 ( o fonte 3). La mia eseigenza è quella di importare il mio primo blocco di utenti e poi
importare il mio 2 blocco facendo una INSERT INTO... ON DUPLICATE KEY UPDATE. Cioè io dovrei, dato un csv con n utenti che hanno i campi di cui sopra, importarli nella mia tabella e

1) inserirli se sono nuovi record
2) updatare il campo fonte se la mail (che deve essere la chiave primaria) esiste già

Esempio: nel mio db c'è il record

Luca Paterno [email protected] 3345688558 Milano 1975 sito ND ND

Nel csv io ho gà questo nominativo che però proviene dalla fonte 2 perciò nn farò la insert ma l'update e alla fine avrò

Luca Paterno [email protected] 3345688558 Milano 1975 sito campagnax ND

In linea teorica è questo che vorrei/dovrei fare..ma come posso? Mi aiuti?

Grazie Mille in anticipo.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
da quello che so (non ho quasi mai usato on duplicate) ma credo che debba essere qualcosa del genere (da verificare quale è la key)
PHP:
<?php
//....
$query="INSERT INTO tabella (nome, cognome, email, cell, citta, annonascita, fonte1, fonte2, fonte3)
		VALUES('$nome', '$cognome','$email','$cel','$citta', '$annonascita','$fonte1','$fonte2','$fonte3') 
		ON DUPLICATE KEY
		UPDATE nome='$nome',
		cognome='$cognome',
		email=$email',
		cell='$cel',
		citta='$citta',
		annonascita='$annonascita',
		fonte1='$fonte1',
		fonte2='$fonte2',
		fonte3='$fonte3'";
//......
?>
comunque prova a dare un occhio a:
https://www.mrw.it/mysql/articoli/meno-query-grazie-insert-on-duplicate-key-update_1020.html

però non so se possa funzionare con l'inport
 
Autore Discussioni simili Forum Risposte Data
R MS Access 0
M Javascript 1
G MySQL 0
Marco_88 Database 8
D Classic ASP 2