Domanda

Ho una tabella con una colonna, consente di chiamare table_column che è attualmente null per tutte le righe della tabella. Mi piacerebbe inserire il "test" valore in quella colonna per tutte le righe. Qualcuno può darmi il codice SQL per questo?

INSERT INTO table (table_column) VALUES ("test");

Ho provato, ma che solo popola che nell'ultima riga. Come faccio a fare tutte le righe in una volta?

È stato utile?

Soluzione

Siete alla ricerca di UPDATE Non inserire.

UPDATE mytable
SET    table_column = 'test';

UPDATE cambierà i valori delle righe esistenti (e può includere un WHERE per renderlo riguardano solo specifiche righe), mentre INSERT è l'aggiunta di una nuova riga (che lo fa apparire come se fosse cambiato solo l'ultima riga, ma in effetti è aggiunta una nuova riga con quel valore).

Altri suggerimenti

Questo perché nella terminologia database relazionale, che cosa si vuole fare, non si chiama "inserimento", ma "aggiornamento" - si sta aggiornando il campo di una riga esistente da un valore (NULL nel tuo caso) per "testare"

UPDATE your_table SET table_column = "test" 
WHERE table_column = NULL 

Non è necessario la seconda linea se si desidera aggiornare il 100% di righe.

Che cosa si sta effettivamente facendo è l'aggiunta di righe. Per aggiornare il contenuto delle righe esistenti utilizzare l'istruzione UPDATE:

UPDATE table SET table_column = 'test';
UPDATE `table` SET table_column='test';

L'SQL che vi serve è:

Update table set table_column = "test";

L'SQL che hai postato crea una nuova riga invece di aggiornare le righe esistenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top