Wir haben eine Tabelle mit einer Spalte criticality_id gespeichert als 0, 1, 2, 3
, die undefined, A,B,C
respectively darstellen. Einer meiner Kollegen möchte alle Elemente der Kritikalität zeigen C
, aber er fragt accidentially die Datenbank mit einer falschen Abfrage:So vermeiden Sie falsche Datentypabfrage in MySQL
select * from mytable where criticality_id = 'C'
Diese überraschend abgerufen alle Elemente mit criticality_id 0.
Nach einigen googeln Ich weiß, dass MySQL automatisch konvertiert, also hier 'C' = 0
. Das Abfrageergebnis ist technisch korrekt aber sicher nicht was er will. Meine Frage ist, wie man solche Art von Mismatch vermeiden kann, um genau abgestimmtes Ergebnis zurückzugeben. Wenn keine übereinstimmt, gib nichts zurück.
Wage ich sagen dokumentieren Sie Ihr Schema, damit die Leute wissen, was in welcher Spalte lebt – RiggsFolly