插入新记录时出现SQL错误

问题描述:

我在SQL SErver数据库实例的表中插入新记录时遇到了一个非常奇怪的问题。我有以下简单查询:插入新记录时出现SQL错误

INSERT myTable (SerialNumber, PartNumber, IP, QA) VALUES ('123456789012', '1234567','192.168.1.1','1') 

我试图修改表:

SerialNumber - varchar(64) - Not_Null 

PartNumber - varchar(64) - Null 

IP- varchar(64) - Null 

Col_1 - varchar(64) - Null 

Col_2 - bit - Null 

Col_3 - bit - Null 

QA - bit - Null 

现在,当我运行在SQL Server Management Studio中此查询我得到以下错误:

Msg 241, Level 16, State 1, Line 1 
Conversion failed when converting datetime from character string. 

在我的表格中没有任何地方有我有一个日期时间类型的列,所以我不会为什么我得到这个错误。任何帮助表示赞赏。

+1

该表上是否有触发器? – 2010-12-16 20:16:47

+0

我注意到问题是回答 - 问题是什么 - 是触发器? – 2010-12-16 21:09:35

我无法重现与SQL Server上运行以下脚本2005

declare @myTable table 
(
    SerialNumber varchar(64) Not Null, 
    PartNumber varchar(64) Null, 
    IP varchar(64) Null, 
    Col_1 varchar(64) Null, 
    Col_2 bit Null, 
    Col_3 bit Null, 
    QA bit Null 
) 

INSERT @myTable (SerialNumber, PartNumber, IP, QA) VALUES ('123456789012', '1234567','192.168.1.1','1') 
select * from @myTable 

它预期一样......你能仔细检查,以确保你没有你的桌子上的触发器?

刚刚尝试过SQL Server Express 2005上的表定义和查询,并在此处正常工作。

这个插入看起来很好,没有日期时间数据类型。桌子上是否有可能插入日期时间的触发器?试试看看是否有触发器:

sp_helptrigger myTable