MySQL-Fehlercode: 1175 während UPDATE in MySQL Workbench
Ich versuche die Spalte aktualisieren visited
geben Sie den Wert 1. Ich benutze MySQL workbench, und ich Schreibe die SQL Anweisung im SQL editor aus dem inneren der Werkbank. Ich Schreibe den folgenden Befehl ein:
UPDATE tablename SET columnname=1;
Es gibt mir die folgende Fehlermeldung:
Sind Sie mit den safe-update-Modus und Sie versucht, zu aktualisieren, eine Tabelle ohne
ein, WO diese verwendet einen SCHLÜSSEL-Spalte Zu deaktivieren, abgesicherten Modus, schalten Sie die option
....
Ich bin den Anweisungen gefolgt, und habe ich deaktiviert safe update
option aus der Edit
Menü dann Preferences
dann SQL Editor
. Immer der selbe Fehler angezeigt werden & ich bin nicht in der Lage, diesen Wert aktualisieren. Bitte, Sag mir, was ist falsch?
InformationsquelleAutor der Frage Jury A | 2012-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie deine MySql-Sitzung hat der safe-updates-option gesetzt. Dies bedeutet, dass Sie können nicht aktualisieren oder löschen von Datensätzen ohne Angabe eines Schlüssels (ex.
primary key
) in der where-Klausel.Versuchen:
Oder Sie können die Abfrage so ändern, befolgen Sie die Regel (verwenden Sie
primary key
imwhere clause
).InformationsquelleAutor der Antwort Habibillah
Befolgen Sie die folgenden Schritte vor dem ausführen des UPDATE-Befehls:
In MySQL Workbench
Edit
-->Preferences
"SQL Editor"
Registerkarte unduncheck
"Sichere Updates"check box
Query
-->Reconnect to Server
//logout und anschließendem loginp.s., Keine Notwendigkeit, starten Sie den MySQL-daemon!
InformationsquelleAutor der Antwort Ripon Al Wasim
InformationsquelleAutor der Antwort user2531028
Alles, was notwendig ist: Starten Sie eine neue Abfrage und führen:
Dann: Führen Sie die Abfrage, die Sie versuchen zu laufen, war nicht vorher zu arbeiten.
InformationsquelleAutor der Antwort Quagmire12
Keine Notwendigkeit, um SQL_SAFE_UPDATES 0, ich würde wirklich raten, es zu tun es auf diese Weise.
Fügen Sie einfach in der WHERE-Klausel eine KEY-Wert, passt alles wie ein primary-key im Vergleich zu 0, so dass anstelle des Schreibens:
Nun können Sie sicher sein, jeder Datensatz wird aktualisiert, wie erwartet.
InformationsquelleAutor der Antwort Rudy De Volder
InformationsquelleAutor der Antwort andrew
ODER
Gehen
Edit --> Preferences
Klicken Sie auf
SQL Queries
Registerkarte und deaktivieren SieSafe Updates
KontrollkästchenQuery --> Reconnect to Server
Führen Sie nun die sql-Abfrage
InformationsquelleAutor der Antwort Balu
Wenn Sie im abgesicherten Modus, müssen Sie die id in der where-Klausel. So etwas, wie das funktionieren sollte!
InformationsquelleAutor der Antwort Tomislav_
Fand ich die Antwort. Das problem war, dass ich vor den Namen der Tabelle mit dem schema-Namen. ich.e, sollte der Befehl sein:
Danke an alle.
InformationsquelleAutor der Antwort Jury A
In der MySQL-Workbech version 6.2 nicht beendet die Präferenz
SQLQueries
Optionen.In diesem Fall ist es möglich, verwenden Sie:
SET SQL_SAFE_UPDATES=0;
InformationsquelleAutor der Antwort ferdiado
Die einfachste Lösung ist, definieren Sie die Zeile limit und ausführen. Dies geschieht aus Gründen der Sicherheit.
InformationsquelleAutor der Antwort Ruwantha
Da die Frage beantwortet wurde und hatte nichts zu tun mit safe-updates, könnte dies am falschen Ort; ich poste nur, um Informationen hinzuzufügen.
Ich habe versucht, ein guter Bürger und veränderten das in einer Abfrage eine temporäre Tabelle von ids, die aktualisiert würde:
Scheitern. Geändert update:
Arbeitete. Auch du meine Güte-wenn ich bin immer hinzufügen, wo die Taste <> 0 zu bekommen, um die sichere update-check oder sogar SQL_SAFE_UPDATE=0, dann habe ich verloren die 'check' auf meine Anfrage. Ich könnte genauso gut einfach die option deaktivieren, dauerhaft. Ich nehme an, das macht das löschen und aktualisieren eines zwei-Schritt-Prozess, statt einer.. aber wenn Sie schnell genug sind und aufhören zu denken, über den Schlüssel die Besondere aber vielmehr als nur ein ärgernis..
InformationsquelleAutor der Antwort Gerard ONeill
Ist wahr, dass dies sinnlos ist für die meisten Beispiele. Aber schließlich kam ich zu der folgenden Aussage und es funktioniert gut:
InformationsquelleAutor der Antwort Sonic-Mayhem