MYSQL操作数错误我不明白

时间:2015-10-16 11:48:48

标签: mysql sql operand

该网站的新用户,但我有一个查询的快照,但是我无法理解为什么。

  

类型5是一个呼叫,类型0是一个音符(但可能是由于记录的呼叫   保持)所以我试图找到=类型5或(类型0客户端   名称在注释中。)

以下是失败的部分

AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%', c.frstnme1 ,'%')))

如果我将c.frstnme1替换为该字段中的实际名称,则此方法有效,但它无法处理来自c.frstnme1的信息请求。由于c.frstnme1中只有一项信息,因此该表格已经被链接为" FROM c, ct WHERE ct.cse = c.id"我无法理解这一点。所以它不应该试图寻找其他名字。但它再次使用完全相同的查询,但键入实际名称。请帮忙!

由于 将

3 个答案:

答案 0 :(得分:2)

$('.text-danger').parent().addClass('has-error'); $(this).prop('disabled', true) 模式缺少concat()

like

出现奇怪的错误是因为在您拥有它的情况下不允许使用AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1, '%')))

答案 1 :(得分:1)

您需要做的是在查询中使用MySQL Concat函数。

AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1 ,'%')))

它失败了,因为您没有指定将字符串与列连接。当您使用实际名称替换它时它会起作用,因为您正在进行查询:

AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%ACTUAL NAME%')))

答案 2 :(得分:0)

当我们在条件中使用like时,我们需要将比较字符串或某些内容保留在" concat"功能

感谢。