Come modificare un attributo in una tabella utilizzando T-SQL per consentire valori nulli (non nulli -> null)? Alter table forse?Modifica tabella: Come modificare l'attributo 'Permetti Null' da non null per consentire null
risposta
-- replace NVARCHAR(42) with the actual type of your column
ALTER TABLE your_table
ALTER COLUMN your_column NVARCHAR(42) NULL
O semplicemente "ALTER TABLE your_table ALTER COLUMN your_column NVARCHAR (42)' come impostazione predefinita per consentire null in ogni caso se non specificato esplicitamente altrimenti. –
Nota se è necessario modificare più colonne per consentire null, sarà necessario eseguire comandi separati 'ALTER TABLE .. ALTER COLUMN ..' – sonyisda1
Nota alcuni casi potrebbero non funzionare - vedere [questa risposta DBA Stack Exchange] (https://dba.stackexchange.com/a/27293/158) se stai ricevendo un errore 'ALTER TABLE ALTER COLUMN non riuscito perché uno o più oggetti accedono a questa colonna. –
ALTER TABLE è giusto:
ALTER TABLE MyCustomers ALTER COLUMN CompanyName VARCHAR(20) NULL
Sei sicuro di aver bisogno di ridefinire i vincoli e solo il tipo di dati? [L'articolo MSDN] (http://msdn.microsoft.com/en-us/library/ms190273.aspx) non menziona la necessità di ridefinire i vincoli: "Se NULL o NOT NULL sono specificati con ALTER COLUMN, new_data_type [(precision [, scale])] deve essere specificato. Se il tipo di dati, la precisione e la scala non vengono modificati, specificare i valori della colonna corrente. " –
@Daniel Vassallo - Hai ragione. Stavo cercando di essere completo, ma la modifica di NULL/NOT NULL dovrebbe essere l'unica modifica. – Oded
Sì, è possibile utilizzare ALTER TABLE
come segue:
ALTER TABLE [table name] ALTER COLUMN [column name] [data type] NULL
Citando dalla documentazione ALTER TABLE
:
NULL
possono essere specificati inALTER COLUMN
per forza aNOT NULL
colonna per consentire valori nulli, ad eccezione delle colonne nei vincoli PRIMARY KEY.
ALTER TABLE public.contract_termination_requests
ALTER COLUMN management_company_id DROP NOT NULL;
Questa è la risposta che ha funzionato su PostgreSQL. –
@ ÁronLőrincz però la domanda non riguarda Postgres. È contrassegnato come SQL Server, quindi questa risposta non è corretta. –
Hai ragione, ma mi ha comunque aiutato e penso che sia un commento utile per le persone che trovano la domanda tramite Google. Il titolo della domanda non chiarisce di quale server di database si tratta. –
è possibile utilizzare
ALTER TABLE table_name ALTER COLUMN column-name DROP NOT NULL;
- 1. SQLAlchemy consentire null come ForeignKey
- 2. Filtraggio Django Admin da Null/Non è Null
- 3. StringBuilder aggiunge null come "null"
- 4. Node.snapshot (null, null) modifica la dimensione della scena
- 5. Differenza tra null default null e default null in mysql?
- 6. Dovremmo consentire i parametri null/empty?
- 7. (a! = Null) o (null! = A)
- 8. NULL vs DEFAULT NULL vs NULL DEFAULT NULL nella creazione della colonna MYSQL?
- 9. cosa significa "cancella dalla tabella dove NULL = NULL" significa?
- 10. Inserisci null nella tabella Sqlite
- 11. Posso cambiare una colonna da NOT NULL a NULL senza rilasciarlo?
- 12. valore Null non riservate
- 13. Perché non c'è un avviso per null == null?
- 14. Java - Motivi per consentire null come chiave HashMap?
- 15. Immettere valori null con l'ultimo importo non null - Oracle SQL
- 16. Uguale (articolo, null) o articolo == null
- 17. ImageMagickError impossibile leggere il carattere `(null) ':` (null)'
- 18. Modificare una colonna in NULL - Oracle
- 19. Modifica del vincolo di colonna null/not null = errore di replica di rowguid
- 20. Un riferimento non può essere NULL o può essere NULL?
- 21. PHP controllare per NULL
- 22. C# se-null-poi-null espressione
- 23. Differenza tra null == oggetto e oggetto == null
- 24. Errore: javax.el.PropertyNotFoundException: target irraggiungibile, 'null' restituito null
- 25. Perché `null> = 0 && null <= 0` ma non` null == 0`?
- 26. Utilizzando "Is Null/non NULL" in LINQ to SQL
- 27. Directory di lavoro: null Ambiente: null
- 28. Perché null == myVar invece di myVar == null?
- 29. Differenza tra 'a == null' e 'null == a'
- 30. se (valore == null) vs se (null == valore)
SQL Server Management Studio crea uno script molto complesso per un compito così semplice. Ecco perché mi sono confuso e ho controllato lo stackoverflow. Forse questo è il punto della domanda ... – Tillito