为什么update语句不执行?
问题描述:
update movies
set title = 'new title',
show_start = '16-04-2017',
show_end = '16-04-2017'
where id = 1;
它不会给出任何错误。但是我等了2分钟,这个声明什么都没做。选择,插入和删除语句工作得很好。表只有1行。为什么update语句不执行?
答
可能数据类型被定义为字符串而不是数字。 试用单引号。 即,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 **更新无所事事。 –
您确定'ID'值是'1'吗?并且ID的数据类型是数字? –
@ShreyasSG是的。选择*从电影返回1行,ID = 1 –
你可以试用引号吗?即ID ='1' –