19
ทำไมบางคนจะใช้ WHERE 1 = 1 AND <conditions> ในประโยค SQL?
เหตุใดจึงมีคนใช้WHERE 1=1 AND <conditions>ในประโยค SQL (ทั้ง SQL ที่ได้รับผ่านสตริงที่ต่อกัน, นิยามมุมมองทั้งสอง) ฉันเคยเห็นที่ไหนสักแห่งว่าสิ่งนี้จะถูกใช้เพื่อป้องกันการฉีด SQL แต่มันดูแปลกมาก หากมีการฉีดจะมีผลเช่นเดียวกับWHERE 1 = 1 AND injected OR 1=1injected OR 1=1 แก้ไขในภายหลัง: แล้วการใช้งานในนิยามมุมมองล่ะ ขอบคุณสำหรับคำตอบ ถึงกระนั้นฉันก็ยังไม่เข้าใจว่าทำไมบางคนถึงใช้โครงสร้างนี้เพื่อกำหนดมุมมองหรือใช้ภายในขั้นตอนการจัดเก็บ ยกตัวอย่างเช่น CREATE VIEW vTest AS SELECT FROM Table WHERE 1=1 AND table.Field=Value
257
sql
dynamic-sql