下面的SQL语句有问题。任何帮助都将不胜感激。
Select *
From dbo.Site_tblSliderFeatures
WHERE SliderID =17
GO
BEGIN TRAN
Update dbo.Site_tblSliderFeatures
SliderTitle = 'Racing to the Future',
SliderCaption = 'caption.',
SliderStart = '2014-09-30',
SliderEnd = '2014-10-7',
SliderPhoto = 'images/structure/RacingtotheFuture.png',
SliderLink = 'link'
SELECT *
FROM dbo.Site_tblSliderFeatures
WHERE SliderID = 17
-- COMMIT TRAN
ROLLBACK TRAN这是错误消息。
Msg 102,第15级,状态1,第6线 SliderTitle附近的不正确语法。
发布于 2014-09-30 23:43:15
“不正确的语法”是一个事实,即SET应该在您的UPDATE语句中--这应该有效:
USE HomePage
Select * From dbo.Site_tblSliderFeatures WHERE SliderID =17
GO
BEGIN TRAN
Update dbo.Site_tblSliderFeatures
Set SliderTitle='Racing to the Future',
SliderCaption='caption.',
SliderStart='2014-09-30',
SliderEnd='2014-10-7',
SliderPhoto='images/structure/RacingtotheFuture.png',
SliderLink='link'
SELECT * FROM dbo.Site_tblSliderFeatures Where SliderID = 17
-- COMMIT TRAN
ROLLBACK TRAN此外,作为sgeddes pointed out,向update语句中添加一个Where子句可能是明智的,因为该查询将更新表中的所有行。
我猜你真的想要这个
SliderEnd='2014-10-7',
SliderPhoto='images/structure/RacingtotheFuture.png',
SliderLink='link'
Where SliderID=17 -- Limit it to only rows where SliderID=17
SELECT * FROM dbo.Site_tblSliderFeatures Where SliderID = 17发布于 2014-09-30 23:51:07
UPDATE语句有几处问题:
SETWHERE子句,除非您想更新表中的每一行!试试这个:
...
UPDATE dbo.Site_tblSliderFeatures SET -- Added SET
SliderTitle='Racing to the Future',
SliderCaption='caption.',
SliderStart='2014-09-30',
SliderEnd='2014-10-7',
SliderPhoto='images/structure/RacingtotheFuture.png',
SliderLink='link'
Where SliderID = 17; -- Added where clause and ";"
SELECT * FROM dbo.Site_tblSliderFeatures Where SliderID = 17; -- Added ";" here too
...https://stackoverflow.com/questions/26131946
复制相似问题