当我在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.
我的表中没有任何一个日期时间类型的列,所以我不知道为什么我会收到此错误。任何帮助表示赞赏。
答案 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