我有一个原始的SQL查询,它总是在执行时给出错误。这是我的查询
Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location])
我正在接受location = 'BUILD'
位置值为'BUILD_A','BUILD_B','BUILD_C'。
当我执行原始sql时,下面是我得到的错误。
DatabaseError:(1064,“您的SQL语法有错误;请查看手册 对应于您的MySQL服务器版本,以便在附近使用正确的语法 'BUILD'%'和date(modified)='2011-06-14''在第1行“)
在MySQL术语中,我需要执行以下查询:
Select target, username from users where location like 'BUILD%' and target = '2011-06-14'
我用谷歌搜索但无法得到它。请有人帮助我
答案 0 :(得分:5)
我已经用这种方式解决了我的问题。
location = location + '%'
users_list = Users.objects.raw('select target, username from users where location like %s and date(modified) = %s',tuple([location,date]))
上述语句执行完美,没有任何错误,我也可以在模板中呈现结果。
答案 1 :(得分:0)
下面的查询对我有用,
query =“从“ BUILD%”这样的位置中选择目标用户名和用户名”
结果= Users.objects.raw(query)