我想改变一个表列为空。我用过:
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
这将在修改处给出一个错误。正确的语法是什么?
我想改变一个表列为空。我用过:
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
这将在修改处给出一个错误。正确的语法是什么?
当前回答
虽然我不知道您使用的是什么RDBMS,但您可能需要给出整个列规范,而不仅仅是说您现在希望它是可空的。例如,如果它当前是INT NOT NULL,你应该发出ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT。
其他回答
对于HSQLDB:
ALTER TABLE tableName ALTER COLUMN columnName SET NULL;
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT null;
这对你很有用。
如果要将非空列更改为允许空,则不需要包含非空子句。因为默认列不为空。
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT;
这取决于你使用的SQL引擎,在Sybase中你的命令可以正常工作:
ALTER TABLE Merchant_Pending_Functions
Modify NumberOfLocations NULL;
虽然我不知道您使用的是什么RDBMS,但您可能需要给出整个列规范,而不仅仅是说您现在希望它是可空的。例如,如果它当前是INT NOT NULL,你应该发出ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT。
假设SQL Server(基于你之前的问题):
ALTER TABLE Merchant_Pending_Functions ALTER COLUMN NumberOfLocations INT NULL
将INT替换为实际的数据类型。