插入新记录时出现SQL错误

时间:2010-12-16 20:15:36

标签: sql sql-server database tsql

当我在SQL SErver数据库实例中的表中插入新记录时,我遇到了一个非常奇怪的事情。我有以下简单的查询:

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.

我的表中没有任何一个日期时间类型的列,所以我不知道为什么我会收到此错误。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:0)

我无法使用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

按预期工作......你可以仔细检查以确定你的桌子上没有触发器吗?

答案 1 :(得分:0)

在SQL Server Express 2005上尝试过该表定义和查询,并在这里正常工作。

答案 2 :(得分:0)

此插入看起来很好,没有看到日期时间数据类型。表上是否有可能插入日期时间的触发器?试试看是否有任何触发器:

sp_helptrigger myTable