2017-10-12 4 views
1

Code:Warum fügt Mysql keinen Punkt zur Punktspalte hinzu?

UPDATE tbl_name 
    SET points = points + 1 
    WHERE 'GAME 1' LIKE "%Vikes%" 

Die Spalte GAME 1 enthält Zeilen, die entweder Vikes oder Saints alle Punkte zur Zeit bei 0 sind, warum wird nicht fügen meinen Code einen Punkt? Danke

+0

Ein solches Schema ist eine ziemlich krasse Verletzung der [Null, Eins oder Unendlichkeitsregel] (http://en.wikipedia.org/wiki/Zero_one_infinity_rule) von [Datenbanknormalisierung] (http: // en. wikipedia.org/wiki/Datenbank_normierung). Sie sollten eine Reihe pro Spiel haben, die mit den "Heim" - und "Auswärts" -Teams verbunden ist, oder zwei Punktzeilen pro Spiel haben, alles andere als das. – tadman

Antwort

1

Ihr Code bezieht sich nicht auf die SpalteGame 1. Es bezieht sich auf die Zeichenfolge 'Game 1'. Und diese Zeichenfolge ist nicht wie die Vergleichszeichenfolge.

Dies ist wahrscheinlich das, was Sie wollen:

UPDATE tbl_name 
    SET points = points + 1 
    WHERE `GAME 1` LIKE '%Vikes%'; 

Das Escape-Zeichen für Bezeichner sind die Backticks.

Das heißt, der richtige Rat ist, nicht-Standard-Zeichen in Bezeichnern zu vermeiden. Verwenden Sie einfach Buchstaben, Zahlen und Unterstriche, damit der Name nicht maskiert werden muss.

+0

Es hat funktioniert! Vielen Dank, wie heißen die Charaktere neben GAME 1? – CreatingAlong

Verwandte Themen