在工作中我们有一个 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/