Inserire lo stesso valore fisso in più righe
-
11-10-2019 - |
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?
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.