2016-08-30 6 views
0

Ich versuche gerade, 2FA für das Administratorkonto meines GitLab-Servers manuell zu entfernen, da ich den Zugriff auf meine OTP-App und die Wiederherstellungsschlüssel für das Konto verloren habe.Wie verwende ich die WHERE-Klausel richtig?

Es gibt nur ein Konto mit Administratorzugriff.

Gemäß this comment ist die korrekte Vorgehensweise das Setzen von otp_required_for_login auf false für diesen Benutzer.

Ich habe meinen Weg in die Datenbank Debug-Konsole gefunden (sudo gitlab-rails dbconsole; es ist im Grunde ein Wrapper für psql), und versuche jetzt, den Wert tatsächlich zu ändern. Bei der Ausführung meiner Abfrage wird jedoch ein Syntaxfehler angezeigt.

Meine Frage:

UPDATE "users" 
    SET "otp_required_for_login" = false 
    WHERE username = "gl_administrator"; 

Die Syntaxfehler erhalte ich:

ERROR: syntax error at or near ""gl_administrator"" 
LINE 3: WHERE username = "gl_administrator"; 
         ^
+0

SQL Apostrophe für Stringliterale, doppelte Anführungszeichen sind für Bezeichner (wie Tabellen- und Spaltennamen) verwendet, die unter Angabe erfordern. –

Antwort

3

Sie müssen einfache Anführungszeichen verwenden, wenn ein Stringliteral verweist.

Also, Ihre Abfrage würde einfach ändern:

WHERE username = 'gl_administrator';