2017-04-16 357 views
0
update movies 
    set title = 'new title', 
     show_start = '16-04-2017', 
     show_end = '16-04-2017' 
where id = 1; 

它不會給出任何錯誤。但是我等了2分鐘,這個聲明什麼都沒做。選擇,插入和刪除語句工作得很好。表只有1行。爲什麼update語句不執行?

+0

您確定'ID'值是'1'嗎?並且ID的數據類型是數字? –

+0

@ShreyasSG是的。選擇*從電影返回1行,ID = 1 –

+1

你可以試用引號嗎?即ID ='1' –

回答

0

可能數據類型被定義爲字符串而不是數字。 試用單引號。 即,ID ='1'

update movies 
    set title = 'new title', 
     show_start = '16-04-2017', 
     show_end = '16-04-2017' 
where id = '1'; 
+1

這可以'是解決方案。如果'id'確實被定義爲'varchar'(或'text'),那麼'where id = 1'會導致錯誤(「操作符不存在:character varying = integer」)** not **更新無所事事。 –