1362得票14回答
更改列: 从null到not null

我有一张表格,其中有几个可空的整数列。这是不理想的,因此我希望将所有的空值更新为0,然后将这些列设置为NOT NULL。除了将空值更改为0之外,必须保留数据。 我正在寻找将某个列(称之为ColumnA)修改为“not null”的具体SQL语法。假设数据已经更新,不包含空值。 使用 SQL...

273得票3回答
如何在PostgreSQL表中更改列的数据类型?

将以下命令输入到 PostgreSQL 交互式终端中会导致错误:ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11); 如何正确地更改列的数据类型?

220得票14回答
如何在SQL Server中一次性修改多个列

我需要改变表中多个列的数据类型,对于单个列,以下代码可以正常使用:ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0) 但是我如何在一条语句中更改多个列?以下方法无效:ALTER ...

212得票7回答
更改列,添加默认约束

我有一个表,其中一列是datetime类型的“日期”。我们决定给该列添加一个默认约束Alter table TableName alter column dbo.TableName.Date default getutcdate() 但是这会让我出现错误: 附近有“.”的语法不正确。...

92得票5回答
当在一个大表中增加VARCHAR列的大小时,是否会出现任何问题?

我正在使用 SQL Server 2008,需要将一个有大约 500k 行的表中的 VARCHAR 字段扩大,从 200 到 1200。我想知道是否存在任何我没有考虑到的问题。 我将使用以下 TSQL 语句:ALTER TABLE MyTable ALTER COLUMN [MyColumn]...

90得票5回答
将一个可为空的列更改为非空列,并设置默认值。

今天我遇到一张旧表,其中有一个日期时间列名为'Created',允许为空。现在,我希望将其更改为非空,并添加一个约束以设定默认值(getdate())。 到目前为止,我已经得到了以下脚本,只要我事先清理了所有的空值,它就可以正常工作: ALTER TABLE dbo.MyTable ALT...

55得票3回答
依赖列的 ALTER TABLE

我想将一个主键的列数据类型从int改为tinyint。该列是其他表中的外键,因此我得到以下错误: Msg 5074, Level 16, State 1, Line 1 对象 'PK_User_tbl' 取决于列 'appId'。Msg 5074, Level 16, State ...

19得票3回答
将列更改为不允许为空

我想将SQL Server数据库中的某一列更改为不允许为空,但我一直遇到错误。这是我正在使用的SQL语句:alter table [dbo].[mydatabase] alter column WeekInt int not null 这是我遇到的错误:Msg 515, Level 16, S...

16得票3回答
SQL: 将列更改为较短的CHAR(n)类型

我正在使用MS SQL SERVER 2003。我想要更改一个表格中的列,使其条目字符数减少。这与此问题完全相同:更改表列以接受更多字符,不同的是我需要减少字符数而不是增加。 我有一个包含9位数字的列。之前在该表上工作的开发人员错误地将列设置为容纳10位数字。我需要将类型从CHAR(10)更...

10得票1回答
当一个索引依赖于某一列时,如何将该列从null更改为not null而无需重新创建索引?

我有一个列Column,它被声明为NULL DEFAULT(GETUTCDATE()),并且有一个包括此列的非聚集索引。我想将该列更改为NOT NULL DEFAULT(GETUTCDATE()),当我运行ALTER TABLE ALTER COLUMN语句时,SQL Azure服务说无法更改...