我有一个INSERT查询工作正常,但是当我添加一个额外的字段时,我得到了哦 - 非常有帮助:
无效的对象名称'优化'
优化是表名。查询如下......我完全不知道为什么这不起作用。如果我削减&将查询粘贴到MSSQL Management Studio中,查询工作正常。
INSERT INTO [optimizations]
([opt_date],[opt_concept_id],[opt_pallet],[opt_turnable],
[opt_sideupok],[opt_endupok],[opt_flatok],[opt_notstickingout],
[opt_notinoverhang],[opt_itemsloaded],[opt_loadedweight],
[opt_pweightutil],[opt_pvolumeutil],[opt_request_xml],
[opt_response_xml],[opt_images],[opt_primary_stage_id])
VALUES
(GETDATE(),'775','20ft','true','false','false','true',
'true','true','10','5952.6','18.6','48.9',
'<xml><herpa><derpa>xml</derpa></herpa></xml>',
'<xml><herpa><derpa>xml</derpa></herpa></xml>',
'img1.jpg,img2.jpg,img3.jpg','98');
出于某种原因,如果我在查询[opt_primary_stage_id]
中包含最后一个字段,则它不起作用...如果我省略此字段则可以正常工作。有趣的是,如果我将[opt_primary_stage_id]
添加到要传递的字段列表中,并将值传递给NULL
,则查询也可以正常工作。 [opt_primary_stage_id]
字段的数据类型为INT
,我尝试将VALUES()
部分的最后一个条目包括为直号(3
)和引号({{1} }})...都不起作用。
执行代码的服务器运行PHP 4.3.9,在IIS下使用和MSSQL。
这是查询的一个版本,其中包含可用的SAME数据。
'3'
编辑:修复XML以适当包围&amp;添加了工作查询。
答案 0 :(得分:1)
添加字段不会导致其自身失败: 是有效理由。
你说它在SSMS中运行,然后它显示问题在PHP或通话中。
初步想法:
命令多长时间。它是否在PHP中被截断?这是动态SQL IRL吗?
用户上下文是否与客户端相同?例如,您可能在2个不同的模式中具有相同的表,具有不同的权限。
连接中的数据库错误。 SELECT DB_NAME()说什么?听起来很明显,但没有对象=没有。不要忽视这个想法,并假设它是正确的背景:检查。