0
好吧,我用「LIKE」和「LEFT JOIN」,它工作正常。使用LIKE %%與LEFT JOIN
$sql = $conn->query("SELECT * FROM tasks t
LEFT JOIN users u
ON t.allowed_countries LIKE u.country
WHERE u.username = '$username'");
但是當我嘗試使用「LIKE %%」,而不使用「LIKE」,那麼它給了我錯誤
LIKE '%" u.country "%'
誰能告訴我這個問題好嗎?
謝謝。
請注意,在SQL中使用這樣的通配符可能會導致嚴重的性能問題。你不會注意到它在一個小的數據集上,但隨着數據的增長,它會減慢,因爲它將不得不掃描整個表以找到匹配的記錄。你最好有一個子表,以便每個任務的每個允許國家都在一個單獨的記錄中,並且使用記錄ID而不是完整的國家名字符串將它們鏈接起來。谷歌的「多對多關係」來了解更多關於如何做到這一點的信息。 – Spudley 2014-12-05 21:32:32