sto provando a creare query più robuste MySQL
e impara nel processo. Attualmente sto attraversando un periodo difficile cercando di cogliere la sintassi ON DUPLICATE KEY
e possibili usi.Istruzione mySQL condizionale. Se true UPDATE, se false INSERT
Ho un INSERT
query che voglio INSERT
solo se non v'è alcun record con lo stesso ID
e il nome, altrimenti UPDATE
. ID
e il nome non è UNIQUE
ma ID
è indicizzato. ID
non è UNIQUE
perché fa riferimento a un altro record da un'altra tabella e voglio avere più record in questa tabella che fanno riferimento a quel record specifico dell'altro tavolo.
Come posso utilizzare ON DUPLICATE KEY
-INSERT
solo se non v'è alcuna traccia di quel ID
e il nome già impostato il resto UPDATE
quel record?
mi può facilmente raggiungere questo obiettivo con un paio di QUERIES
e quindi avere PHP
fare la parte IF
ELSE
, ma voglio sapere come LIMIT
la quantità di QUERIES
mando a MySQL
.
Ottenere un errore con questo: si ha un errore nella sintassi SQL; controlla il manuale che corrisponde alla tua versione del server MySQL per la sintassi corretta da usare vicino a 'IF (SELEZIONA * DA sapori WHERE id =' 1 'AND Name =' BerryBlue ') È NULL THEN' alla riga 1 –
@Vitaliy - I ' ho aggiornato il mio codice. Vedi se ti aiuta affatto. In caso contrario, provare a inserire l'istruzione INSERT sulla stessa riga dell'istruzione IF. –
Provato già. Inoltre invertito la logica e ancora mi dà un errore di sintassi. Ho anche sostituito tutti i vars di PHP con valori statici senza fortuna. –