Essayer de faire un support d'application basée sur MySQL MS SQL, je suis tombé sur la question suivante:Comment contourner les types de champs entiers non signés non pris en charge dans MS SQL?
Je garde la auto_increment de MySQL en tant que champs entiers non signés (de différentes tailles) afin d'utiliser la gamme complète, que je Sachez qu'il n'y aura jamais de valeurs négatives. MS SQL ne supporte pas l'attribut unsigned sur tous les types entiers, donc je dois choisir entre abandonner la moitié de la plage de valeurs ou créer une solution de contournement. Une approche très naïve serait de mettre du code dans le code d'abstraction de la base de données ou dans une procédure stockée qui convertit entre les valeurs négatives du côté db et les valeurs de la plus grande partie de la plage non signée. Cela gâcherait bien sûr le tri, et cela ne fonctionnerait pas non plus avec la fonction d'identification automatique (ou est-ce que ça le ferait d'une certaine manière?).
Je ne peux pas penser à un bon solution de contournement en ce moment, y en a-t-il? Ou suis-je simplement fanatique et devrait simplement oublier la moitié de la gamme?
Éditer:
@Mike Woodhouse: Oui, je suppose que vous avez raison. Il y a toujours une voix dans ma tête disant que peut-être que je pourrais réduire la taille du champ si j'optimisais son utilisation. Mais s'il n'y a pas de moyen facile de le faire, cela ne vaut probablement pas la peine de s'en inquiéter.