J'ai une database SQL Server 2000 avec une table nommée Voters
. Une colonne de la table ( PrecinctCode
de type varchar(10)
) est supposée avoir un code à 4 numbers similaire à A111
ou D109
, mais certaines lignes ont une valeur de '999'
. Les lignes avec la valeur '999'
ont le bon numéro dans une colonne différente ( FaultCode
de type varchar(50)
). Je veux copyr les valeurs de FaultCode
à PrecinctCode
lorsque PrecinctCode = 999
.
J'ai couru cette requête
UPDATE Voters SET PrecinctCode = FaultCode WHERE (PrecinctCode = '999')
Un message indiquant "3031 lignes affectées" s'affiche, mais les lignes affectées affichent toujours 999 dans la colonne PrecinctCode
. Je me connecte à la database avec l'authentification Windows sous le count d'administrateur, donc je ne pense pas que ce soit un problème de security.
Quelqu'un at-il eu une requête de mise à jour qui ne mettrait pas à jour les lignes?
MODIFIER
J'ai essayé cette requête pour récupérer le schéma, cela ne m'a rien donné d'utile.
SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME like '%Voters%'
Souhaitez-vous simplement postr le travail de design de table? Sinon, pouvez-vous me dire une requête à exécuter pour récupérer les informations dont vous avez besoin? Merci.
Essayez d'abord d'effectuer un SELECT pour savoir ce que vous requestz:
SELECT FaultCode, PrecinctCode FROM Voters WHERE PrecinctCode = '999';
NB: si la longueur de FaultCode dépasse 10 caractères, votre UPDATE échouera.
Pour les sourires, essayez ceci
UPDATE Voters SET PrecinctCode = FaultCode WHERE PrecinctCode = '999' and FaultCode <> '999'
Ou essayez
UPDATE Voters SET PrecinctCode = RTRIM (FaultCode) WHERE PrecinctCode = '999'
Et
select *, len(FaultCode) from Voters WHERE PrecinctCode = '999' and PrecinctCode <> FaultCode
Peut-être que vous devriez essayer de commettre après la mise à jour