我试图编写一条单行sql语句,该语句可以检查某个条件,如果条件满足,则需要使用新值更新表。下面是我想做的,我只是找不到解决方法。任何帮助将不胜感激。
Traceback (most recent call last):
File "test_1_height_error.py", line 34, in <module>
wrapper(main)
File "/usr/lib/python3.7/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "test_1_height_error.py", line 12, in main
window.addstr('*', color_pair(1))
_curses.error: addwstr() returned ERR
我遇到以下错误:
在上下文中指定的非布尔类型的表达式,其中 状况可能在“更新”附近
答案 0 :(得分:3)
执行以下操作:
update table set field1 = '9876543210'
where field1 = '0000000001' and field2 = 'XXX';
这样,您会将field1
的所有行上的field1 == '0000000001' and field2 = 'XXX'
值更新为值'9876543210'
。
答案 1 :(得分:1)
您可以在此处验证查询。您错过了EXISTS
键进行检查。因此只有它会返回错误。
if (EXISTS(select 1 from table where field1 = '0000000001' and field2 = 'XXX'))
update table set field1 = '9876543210' where field2 = 'XXX'