我对SQL还是很陌生,我想节省一些时间在多个列中搜索单个值,这样就不必将值粘贴到3个引号中。

例如:

SET @u1 := '000123';

SELECT * FROM database1.table1
WHERE id = @u1
OR prev_id = @u1
OR next_id = @u1
OR link_id = @u1
;


因此,在上述情况下,我试图找到id = 000123的位置是id,prev_id,next_uid,link_uid,而不必在下面粘贴4个实例:

SELECT * FROM database1.table1
WHERE id LIKE '000123'
OR prev_id = '000123'
OR next_id = '000123'
OR link_id = '000123'
;


环顾四周,我相当确定这是可能的,但也许我遗漏了一些东西?

最佳答案

这是你想要的?

SELECT *
FROM database1.table1
WHERE  @u1 in (id, prev_id, next_id, link_id);

关于mysql - 使用“WHERE”和用户定义的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22712107/

10-11 00:12