2012-04-25 10 views
5

Sto cercando di inserire "testing" nella mia colonna MeetingNotes in due condizioni ma per la vita di me non riesco a farlo funzionare. È possibile farlo? Sono un principiante con sql e mysql? Grazie in anticipo!Inserimento di un singolo valore in una colonna con una clausola where

SELECT MeetingNotes 
FROM Meeting 
INSERT INTO MeetingNotes 
VALUES ('testing') 
WHERE MeetingProcessId = '1001' AND MeetingId = '25' 
+0

Perché inseriresti un valore con una clausola where? Capirei se stavi inserendo da qualche altra parte, e volevi specificare una clausola where sul source, ma qui non ha senso. – Bridge

risposta

10

si desidera utilizzare an UPDATE query, che cambia i valori nei record esistenti. An INSERT query rigorosamente aggiunge nuovi record.

UPDATE Meeting 
SET MeetingNotes = 'testing' 
WHERE MeetingProcessId = '1001' AND MeetingId = '25' 

Per riferimento futuro, non so il motivo per cui si dispone di un'istruzione SELECT nel tuo esempio: non è necessario per inserire o aggiornare i record. Inserimento di un nuovo record nella tabella Meeting (dato solo le tre colonne indicate) sarebbe simile a questa:

INSERT INTO Meeting (MeetingId, MeetingProcessId, MeetingNotes) 
VALUES ('25', '1001', 'Notes about this very exciting meeting...') 

Un paio di note su questo:

  • Dal istruzioni INSERT aggiungere un record del tutto nuovo per il tavolo, i vincoli columnwise non può essere applicato, in modo che non supportano una clausola WHERE
  • Se MeetingId è un ID record di incremento automatico generato dal database, dovrebbe essere/deve essere lasciato fuori istruzioni INSERT
  • Solo stringa (CHA R/VARCHAR) i valori dovrebbero essere quotati quando compaiono nelle query, i valori numerici non dovrebbero. Quindi se, per esempio, meetingid e MeetingProcessId sono interi, invece di colonne di stringhe, le quote-segni intorno 25 e 1001 nelle query di cui sopra devono essere rimossi
+0

Grazie, ho una colonna vuota e penso automaticamente inserto. Sapevo che era ovvio che mi mancava. Grazie per aver dedicato del tempo per aiutare. –

2

Ciò che si vuole è probabilmente:

UPDATE Meeting SET MeetingNotes='testing' WHERE MeetingProcessID = '1001' AND MeetingId = '25'; 
+0

Grazie. Penso automaticamente inserto quando c'è una colonna vuota. Devo uscire da quell'abitudine. Grazie per aver trovato il tempo di rispondere e darmi una mano. –

+0

Benvenuto, dovresti accettare la risposta di Dan j dato che è molto più completo e lui ha risposto un paio di secondi prima di me ^^ –

+0

Sì, l'ho ringraziato anch'io. –

Problemi correlati