Meskipun saya tidak tahu apa RDBMS yang Anda gunakan, Anda mungkin perlu memberikan spesifikasi kolom secara keseluruhan, tidak hanya mengatakan bahwa Anda sekarang ingin itu dapat dibatalkan. Misalnya, jika saat ini INT NOT NULL, Anda harus menerbitkan ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT.
Ini adalah jawaban yang benar dan deskriptif, jadi hanya mengklarifikasi jika Null| NOT NULLtidak ditentukan, kolom akan dibatalkan.
Hamid Heydarian
4
Seperti yang orang lain telah amati, sintaksis yang tepat untuk perintah bervariasi di berbagai rasa DBMS. Sintaks yang Anda gunakan berfungsi di Oracle:
SQL>desc MACAddresses
Name Null? Type
----------------------------------------- -------- ----------------------------
COMPUTER NUMBER
MACADDRESS VARCHAR2(12)
CORRECTED_MACADDRESS NOTNULL VARCHAR2(17)
SQL>altertable MACAddresses
2 modify corrected_MACAddress null3/Table altered.
SQL>desc MACAddresses
Name Null? Type
----------------------------------------- -------- ----------------------------
COMPUTER NUMBER
MACADDRESS VARCHAR2(12)
CORRECTED_MACADDRESS VARCHAR2(17)
SQL>
Jawaban:
Dengan asumsi
SQL Server
(berdasarkan pertanyaan Anda sebelumnya):Ganti
INT
dengan tipe data Anda yang sebenarnya.sumber
untuk pengguna Oracle Database 10g:
Anda mendapatkan "ORA-01735: opsi ALTER TABLE tidak valid" ketika Anda mencoba sebaliknya
sumber
Jika ini adalah sintaks MySQL, jenisnya akan hilang, seperti yang ditunjukkan beberapa respons lainnya. Sintaks MySQL yang benar adalah:
Posting di sini untuk kejelasan kepada pengguna MySQL.
sumber
Dalam PostgresQL itu adalah:
sumber
Meskipun saya tidak tahu apa RDBMS yang Anda gunakan, Anda mungkin perlu memberikan spesifikasi kolom secara keseluruhan, tidak hanya mengatakan bahwa Anda sekarang ingin itu dapat dibatalkan. Misalnya, jika saat ini
INT NOT NULL
, Anda harus menerbitkanALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT
.sumber
Null
|NOT NULL
tidak ditentukan, kolom akan dibatalkan.Seperti yang orang lain telah amati, sintaksis yang tepat untuk perintah bervariasi di berbagai rasa DBMS. Sintaks yang Anda gunakan berfungsi di Oracle:
sumber
Untuk HSQLDB:
sumber
Ini akan bekerja untuk Anda.
Jika Anda ingin mengubah kolom bukan nol untuk mengizinkan nol, tidak perlu menyertakan bukan klausa nol. Karena kolom default bukan nol.
sumber
Ini tergantung pada apa SQL Engine yang Anda gunakan, di Sybase perintah Anda berfungsi dengan baik:
sumber
Peramal
sumber
SQL_SCRIPT
?