2017-04-16 116 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 **更新无所事事。 –

相关问题