Der Versuch, eine MySQL-basierte Anwendung Unterstützung MS SQL zu machen, lief ich in das folgende Problem:Wie umgehen Sie unsigned integer Feldtypen in MS SQL?
Ich halte MySQL auto_increment als unsigned Integer-Felder (in verschiedenen Größen), um den Einsatz des gesamten Spektrums, wie ich zu machen Ich weiß, dass es niemals negative Werte geben wird. MS SQL unterstützt das Unsigned-Attribut nicht für alle Integer-Typen. Daher muss ich zwischen der Hälfte des Wertebereichs und der Umgehungslösung wählen. Ein sehr naive Ansatz wäre es, etwas Code in den Datenbank-Abstraktionscode oder in eine gespeicherte Prozedur zu schreiben, die zwischen negativen Werten auf der db-Seite und Werten aus dem grßeren Teil des vorzeichenlosen Bereichs umwandelt. Dies würde natürlich die Sortierung stören, und es würde auch nicht mit der Auto-ID-Funktion funktionieren (oder würde es das irgendwie?).
Ich kann nicht eine gute Problemumgehung gerade jetzt, gibt es irgendwelche? Oder bin ich einfach nur fanatisch und sollte die halbe Bandbreite einfach vergessen?
Bearbeiten:
@Mike Woodhouse: Ja, ich denke du hast Recht. Es ist immer noch eine Stimme in meinem Kopf, die sagt, dass ich vielleicht die Größe des Feldes reduzieren könnte, wenn ich seine Nutzung optimiere. Aber wenn es keinen einfachen Weg gibt, dies zu tun, ist es wahrscheinlich keine Mühe, sich darüber Gedanken zu machen.