2013-08-14 7 views
8

PHPMyAdmin wurde gerade von meinem Server Admin auf v4.0.4.2 aktualisiert.Neue Version von PHPMyAdmin hat mich daran gehindert, Daten zu bearbeiten

Jetzt bin ich nicht in der Lage Zeilen in der folgenden Tabelle zu bearbeiten:

CREATE TABLE IF NOT EXISTS `product_options` (
    `product_id` int(10) NOT NULL, 
    `option_id` int(10) NOT NULL, 
    KEY `product_id` (`product_id`,`option_id`) 
) 

PHPMyAdmin gibt nur diese Fehlermeldung, wenn ich Daten in der Tabelle zu sehen:

This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

ich nicht möchte eine eindeutige Spalte in dieser Tabelle, also wie kann ich Daten bearbeiten? Gibt es eine Einstellung, die ich ändern kann?

Vielen Dank

MySQL v5.1.70

EDIT/SOLUTION

Ich erkannte, dass es nicht unbedingt ein neues unique column PHPMyAdmin war mir fehlte, zu schaffen, sondern eine unique index. Das bedeutet, dass sich die Struktur meiner Tabellen nicht ändern musste - ich musste einfach einen eindeutigen Index hinzufügen, den ich eigentlich hätte machen sollen.

+0

Mögliches Duplikat von [Lösung: Diese Tabelle enthält keine eindeutige Spalte. Gitter bearbeiten, Kontrollkästchen, Bearbeiten, Kopieren und Löschen sind nicht verfügbar] (http: // stackoverflow.com/questions/18922503/resolution-this-tabelle-does-not-contain-a-unique-spalte-grid-edit-checkbox-ed) –

Antwort

15

Ohne eindeutigen Schlüssel gibt es keine Möglichkeit, zwischen zwei gleichen Datensätzen zu unterscheiden, die existieren können. Daher kann phpMyAdmin die Tabelle nicht sicher bearbeiten - Sie haben keine Ahnung, welche davon bearbeitet werden würde. Möchten Sie wirklich doppelte Datensätze in dieser Tabelle haben?

10

Alles, was Sie haben zu tun mit einem Index = PRIMARY wie das Bild eine eindeutige Spalte wie eine namens id hinzufügen, oder wenn Sie eine haben bereits das heißt genannt id, die Zahlen sind nur es PRIMARY machen

enter image description here

+0

Fehler: # 1062 - Eintrag '0' für Schlüssel 1 duplizieren –

+1

@PooyaEstakhri Was? Ich tat, zuerst eine Spalte am Anfang der Tabelle hinzufügen, dann wählen Sie diese Einstellungen Ich nannte ID (aber Sie könnten bereits gewählt haben) Sie können es nennen _ID oder NewId, als wenn Sie bereits viele Einträge haben, wählen Sie die A_I-Box Das bedeutet Auto-Erhöhung, so dass alle von Ihnen übergebenen Einträge vom ersten bis zum letzten auf Ihrer tatsächlichen Tabelle nummeriert werden, wodurch eine eindeutige Nummer vergeben wird und alle neuen Einträge fortlaufend nummeriert werden, die Sie in die Tabelle eingeben. Dieser Fehler liegt darin, dass in allen Einträgen 0 Werte angegeben werden und dieser Wert nicht eindeutig ist. – zvzej

+0

thx zvzej Ich werde es versuchen :) weiter helfen Menschen;) –

3

Sie können einfach ein Feld mit dem Namen "id" hinzufügen und die Option A_I aktivieren.

+0

Vielen Dank! Das hat für mich funktioniert. – Sobiaholic

+0

Perfekt, danke! – SlickRemix

0

Bevor Sie die Option AUTO_INCREMENT überprüfen, überprüfen Sie, ob die Spalte INT anstelle von VARCHAR lautet.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/13866135) – ADyson

+0

@ADyson Ich sehe keine Links in der Antwort. – Mike

+0

@Mike Tut mir leid, ich muss die falsche Schaltfläche im Review angeklickt haben. Es lohnt sich jedoch, darauf hinzuweisen, dass es sich lediglich um einen Kommentar und nicht um eine umfassende Antwort handelt. – ADyson

0

Ich fand eine Lösung, die jemand in Zukunft helfen könnte, hatte ich Tabelle mit ID, die nicht Primärschlüssel und nicht automatisch erhöht wurde, fügte ich temp Spalte, machte es primäre und automatische Erhöhung, dann bearbeitete ich die ID-Spalte und dann entfernte ich die temp Spalte, danach änderte ich id zu Primär- und automatischem Zuwachs

0

Ich hatte das gleiche Problem. In meinem Fall hatte ich bereits eine ID-Spalte. Ich ließ die Spalte fallen und erstellte sie neu. dieses Mal habe ich es zu einem Primärschlüssel gemacht und A_I angekreuzt (zB Auto-Increment). Alles lief gut.

Hinweis: Sie können dies nur tun, wenn sich die Änderung Ihrer IDs nicht auf Ihre Arbeit auswirkt.

Verwandte Themen