sql - 当我执行 UPDATE 时出现 INSERT 错误?

标签 sql sql-server t-sql error-handling

在工作中我们有一个 SQL Server 数据库。我不太了解数据库。我在表格中为一些新功能创建了一个新列...我立即开始看到错误

我的声明是这样的:

ALTER TABLE users
ADD locked varchar(50) NULL
GO

错误是:

Insert Error: Column name or number of supplied values does not match table definition

我了解到,在 INSERT 操作期间,提供的列名数量或提供的值数量与表定义不匹配时,会出现错误消息。

但是我检查了很多次,并且更改了 PHP 代码以包含此列数据,但我仍然收到错误。

我直接在数据库上运行 SQL 查询,但仍然收到错误。

有趣的是,收到错误的查询是更新。

UPDATE "users"
SET "users"."date_last_login" = GETDATE()
WHERE id = 1

最佳答案

您是否认为这可能是导致这种情况的诱因?

这是您会收到的错误消息。

如果是更新操作导致它检查该表上运行的更新的触发操作。

这样做:

#sp_helptrigger Users, 'UPDATE';

这将显示“更新”操作发生的触发器。

如果有触发器,请获取触发器名称并运行以下命令(但将 TriggerNameHere 替换为真正的触发器):

#sp_helptext TriggerNameHere;

这将为您提供触发器运行的任何 SQL,并且可能是错误消息所引用的 INSERT。

希望这有帮助

关于sql - 当我执行 UPDATE 时出现 INSERT 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412880/

相关文章:

sql - 如何按小时或 10 分钟对时间进行分组?

mysql - 酒店预订系统 : How to store individual price for each night of a reservation?

sql - 选择父子记录

sql - 使用当前行值更新变量

sql - PIVOT SQL Server 协助

sql-server - 返回表中不存在但在我的 IN 列表中存在的值?

基于列值的 MySQL Inner Join 表

sql - 合并两列并找到对应的名称到另一个字段

php - 用多个select语句查询并加入Eloquent

c# - SqlConnection.Close() 在 using 语句中