我想改变一个表列为空。我用过:
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
这将在修改处给出一个错误。正确的语法是什么?
我想改变一个表列为空。我用过:
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
这将在修改处给出一个错误。正确的语法是什么?
当前回答
适用于SQL Server或TSQL
ALTER TABLE Complaint.HelplineReturn ALTER COLUMN IsDisposed BIT NULL
其他回答
假设SQL Server(基于你之前的问题):
ALTER TABLE Merchant_Pending_Functions ALTER COLUMN NumberOfLocations INT NULL
将INT替换为实际的数据类型。
SQLite
ALTER TABLE命令有点特殊。不可能修改列。你必须创建一个新列,迁移数据,然后删除该列:
-- 1. First rename
ALTER TABLE
Merchant_Pending_Functions
RENAME COLUMN
NumberOfLocations
TO
NumberOfLocations_old
-- 2. Create new column
ALTER TABLE
Merchant_Pending_Functions
ADD COLUMN
NumberOfLocations INT NULL
-- 3. Migrate data - you need to write code for that
-- 4. Drop the old column
ALTER TABLE
Merchant_Pending_Functions
DROP COLUMN
NumberOfLocations_old
Oracle数据库10g用户:
alter table mytable modify(mycolumn null);
当您尝试其他方法时,您将得到“ORA-01735: invalid ALTER TABLE选项”
ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL;
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT null;
这对你很有用。
如果要将非空列更改为允许空,则不需要包含非空子句。因为默认列不为空。
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT;
确保您添加了要修改的列的data_type。
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME DATA_TYPE NULL;