例如:
SELECT * FROM USERS WHERE lang=%s
我可以传入占位符字符串,例如“ en”,“ it”,“ es”。但是如果我想把所有的东西都放在lang列中怎么办?就像我在where子句中没有提到lang一样?
是否有类似的东西:
SELECT * FROM USERS WHERE lang=ANYTHING
??
答案 0 :(得分:2)
您可以使用NULL
作为您不关心该语言的指标。然后,您可以使用IS NULL
来检查该值是否为null,从而包括所有行。使用OR
附加相等检查。这样,如果该值不为null,则它必须与要返回的行的语言匹配。
SELECT *
FROM users
WHERE %s IS NULL
OR lang = %s;