alter-table相关内容

使用sqlite更改表放置列语法错误

这是我的表的架构: 创建表LPCG(ID整数主键,PCG文本,Desc文本,测试文字); 我希望删除“ test”列,因此使用以下命令: alter table LPCG drop column test; 这是我收到的错误消息: 错误:“掉落”附近:语法错误 Can有人请帮助我纠正错误吗? 另一个问题是:我知 ..
发布时间:2020-06-03 22:49:20 数据库

如果所有表都不存在,添加列吗?

我正在使用SQL Server 2005/2008。我需要向表中添加一列(如果尚不存在)。这将应用于给定数据库中的所有表。我希望我能近在咫尺,但是我对这个解决方案有疑问。 这怎么办? 这就是我所拥有的: EXEC sp_MSforeachtable' 声明@tblname varchar(255); SET @tblname = PARSENAME(“?”,1); ( ..
发布时间:2020-06-03 22:49:18 数据库

将可空列更改为具有默认值的非空

我今天遇到了一张旧表,其中有一个名为“已创建”的日期时间列,该列允许为空。现在,我想更改它,使其不为NULL,并且还包含一个约束以添加默认值(getdate())。 到目前为止我有以下脚本,只要我事先清除了所有空值,该脚本就可以很好地工作: ALTER TABLE dbo .MyTable ALTER COLUMN创建的DATETIME NOT NULL 还有什么方 ..
发布时间:2020-06-03 22:49:15 数据库

我可以在SQL Server的添加列语句中创建命名默认约束吗?

在SQL Server中,我在表上有一个新列: ALTER TABLE t_tableName 添加newColumn NOT NULL 失败是因为我指定了NOT NULL而未指定默认约束。该表不应具有默认约束。 要解决此问题,我可以使用默认约束创建表,然后将其删除。 但是,似乎没有任何方法可以指定默认约束作为此语句的一部分,因此,我摆脱它的唯一方 ..
发布时间:2020-06-03 22:48:13 数据库

如何在SQL Server中重命名表?

我使用的 SQL 查询是: ALTER TABLE oldtable重命名为newtable; 但是,这给了我一个错误。 服务器:消息156,级别15,状态1,第1行 关键字'TO'附近的语法不正确。 解决方案 要在SQL Server中重命名表,请使用 sp_rename 命令: exec sp_rename'schem ..
发布时间:2020-06-03 22:48:06 数据库

为什么SQL Server无法在存储过程中更改视图?

我正在使用MS SQL Server,我想通过执行类似“将VIEWNAME更改为([some sql])”之类的东西来更改存储过程中的视图。 由Google抛出的一些页面断言,它不直接受支持(也没有相关的alter-table语句),但是也有一些示例,说明了如何使用如下结构来解决它: / p> 声明@sql varchar(max) select @sql ='将VIEWNAME更改 ..
发布时间:2020-06-03 22:48:03 数据库

SQL Server-脚本,用于将数据库列从varchar更新为nvarchar(如果尚未添加nvarchar)

我处于必须使用脚本将现有数据库结构从varchar更新为nvarchar的情况。由于此脚本是在每次运行配置应用程序时运行的,因此,我宁愿确定是否已将列更改为nvarchar而不对表执行更改。我必须支持的数据库是SQL Server 2000、2005和2008。 解决方案 以下查询将为您提供所需的信息: 如果存在 (选择* 从sysobjects syo 加入syscolumns ..
发布时间:2020-06-03 22:48:01 数据库

将列添加到表,然后在事务内更新它

我正在创建一个将在MS SQL服务器中运行的脚本。该脚本将运行多个语句,并且需要进行事务处理,如果其中一个语句失败,则整体执行将停止,并且所有更改都将回滚。 我在创建时遇到了麻烦发出ALTER TABLE语句向表中添加列,然后更新新添加的列时,此事务模型。为了立即访问新添加的列,我使用GO命令执行ALTER TABLE语句,然后调用我的UPDATE语句。我面临的问题是我无法在IF语句中发出G ..
发布时间:2020-06-03 22:47:51 数据库

更改列,添加默认约束

我有一张桌子,其中一列是日期时间类型的“日期”。我们决定向该列添加默认约束 更改表TableName 更改列dbo.TableName.Date默认getutcdate () 但这给了我错误: '。'附近的语法不正确。 有人在这里看到任何明显错误的地方吗,我想念(除了为该列起一个更好的名字之外) 解决方案 尝试一下 更改表T ..
发布时间:2020-06-03 22:47:48 数据库

ALTER TABLE my_table添加@column INT

如果我想使用变量作为新列的名称,那么这在MS SQL中可行吗? 不起作用的示例: ALTER TABLE my_table添加@column INT 这对我非常有用: EXEC('ALTER TABLE my_table ADD'+ @column +'INT') 解决方案 动态SQL来构建DDL,并使用 EXEC 命令执行字符串。 ..
发布时间:2020-06-03 22:47:44 数据库

SQLite修改列

我需要修改SQLite数据库中的列,但是由于数据库已经在生产中,因此我必须以编程方式进行修改。从我的研究中,我发现要执行此操作,必须执行以下操作。 使用新模式创建新表 将数据从旧表复制到新表 删除旧表 将新表重命名为旧表名称 对于一些相对容易的事情来说,这似乎是荒谬的工作。有没有更简单的方法?我需要做的就是更改现有列的约束并为其提供默认值。 解决方案 那是更好的方法之一S ..
发布时间:2020-06-03 22:47:42 数据库

在sqlite3中修改列的类型

我对SQLite 3还是很陌生,刚才我必须在已有的表中添加一列。我这样做的方法是: ALTER TABLE thetable ADD COLUMN类别; 。 当然,我忘记了指定该列的类型。我考虑做的第一件事是删除该列,然后重新添加它。但是,SQLite似乎没有一种简单的方法来执行此操作,因此我不得不备份表并在没有列的情况下重新创建它。 这看起来很乱,我想知道是否只有一种修改/添加列类型 ..
发布时间:2020-06-03 22:47:40 数据库

在创建临时表之前检查是否存在临时表,并删除是否存在

我正在使用以下代码检查临时表是否存在,并在重新创建之前删除该表(如果存在)。只要我不更改列,它就可以正常工作。如果以后再添加一列,则会显示“无效列”错误。请让我知道我在做什么错。 如果OBJECT_ID('tempdb ..#Results')不为空 DROP TABLE#结果 CREATE TABLE#结果 ( Company CHAR(3), StepId TINYINT, ..
发布时间:2020-06-03 22:47:35 数据库

如果SQLite中不存在ALTER TABLE ADD COLUMN

我们最近需要将列添加到一些现有的SQLite数据库表中。可以使用 更改表添加列 。当然,如果表格已被更改,我们想让它保持不变。不幸的是,SQLite不支持 ALTER TABLE 上的 IF NOT EXISTS 子句。 我们当前的解决方法是执行ALTER TABLE语句并忽略任何“重复的列名”错误,就像此Python示例(但在C ++中)。 但是,我们通常的设置数据库模式的方法是使用 ..
发布时间:2020-06-03 22:47:32 数据库

sqlite alter table在单个语句中添加MULTIPLE列

是否可以在sqlite的单个语句中更改表添加MULTIPLE列? 以下内容将不起作用。 alter table测试添加列mycolumn1文本,添加列mycolumn2文本; 解决方案 不,您必须一次添加一个。请参见 SQLite的ALTER TABLE文档: 顶部的语法图。 ADD 分支中没有循环,因此不允许重复。 ..
发布时间:2020-06-03 22:47:28 数据库

更改列:null到不为null

我有一个表,其中包含几个可为空的整数列。由于多种原因,这是不可取的,因此我希望将所有null更新为0,然后将这些列设置为 NOT NULL 。除了将空值更改为 0 外,还必须保留数据。 我正在寻找特定的SQL语法将一列(称为 ColumnA )更改为“ 不为空”。假定数据已更新为不包含空值。 使用 SQL Server 2000 。 解决方案 首先,使所有当前 NULL 值消失 ..
发布时间:2020-06-03 22:47:21 数据库