我对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/