Fügen Sie Auto-Increment-ID, um die vorhandene Tabelle?
Ich habe eine bestehende Tabelle, die 'fname', 'lname', 'E-Mail', 'Passwort' und 'ip'. Jetzt will ich aber ein auto-increment-Spalte. Wenn ich jedoch geben:
ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
Bekomme ich die folgende:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Irgendwelche Tipps?:)
können Sie Ihre vorhandene Tabelle definition?
poste bitte die Ausgabe von
probiert, aber es gibt die Tabelle. was Sie tun müssen?
poste bitte die Ausgabe von
describe users
probiert, aber es gibt die Tabelle. was Sie tun müssen?
InformationsquelleAutor Charles Jenkins | 2013-02-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese
In SQL Server 2008 ersetzen 'AUTO_INCREMENT' mit 'IDENTITY(1,1)' für mich gearbeitet.
Beachten Sie, dass dies fügt eine ID-Spalte als Letzte Spalte in der Tabelle. Hinzufügen
FIRST
um die Abfrage zu machen, die erste in dieser Tabelle.Um zu vermeiden, die "Multiple primary key" Fehler, löschen Sie die vorhandene primary key-vor der Festlegung der neu:
ALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Um es der ersten Spalte, verwenden Sie
FIRST
e.gALTER TABLE tbl1 ADD id INT PRIMARY KEY AUTO_INCREMENT FIRST
InformationsquelleAutor Muhammad Asif Mahmood
Wenn Euch das egal, ob die auto-id wird als
PRIMARY KEY
können Sie nur tun,Ich Tat dies und es wirkten ein behandeln.
Was bedeutet die
FIRST
da tun?Timmerman: Die keyword-ERSTE gibt an, dass die neue Spalte wird als erste Spalte in der Tabelle. Alternativ können Sie festlegen, dass eine bestimmte position mit NACH existent_col_name. Wenn weder die ERSTE noch NACH verwendet werden, dann die neue Spalte Hinzugefügt wird, nachdem alle aktuellen Spalten.
was ist, wenn ich will erstellen Sie einen index auf id, aber nicht in einer PK?
dude, du hast mich gerettet eine MENGE ZEIT. Dank
InformationsquelleAutor Coderer
Wenn Sie möchten, fügen Sie AUTO_INCREMENT in einer vorhandenen Tabelle, müssen, führen Sie folgenden SQL-Befehl:
Sie erhalten
Multiple primary key defined
weil Sie bereits einen Primärschlüssel auf der Tabelle. Eine Tabelle kann nur einen primary key. Wiederholen Sie den obigen Befehl auf den Tisch, wenn es nicht über einen Primärschlüssel verfügenUm zu vermeiden, die "Multiple primary key" Fehler, löschen Sie die vorhandene primary key-vor der Festlegung der neu:
ALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
InformationsquelleAutor Bhaskar Bhatt
Zuerst müssen Sie entfernen Sie den Primärschlüssel von der Tabelle
und jetzt yo können, fügen Sie die autoincrement ...
Duplicate column name 'id'
das ist, weil du bereits die id-Spalte. Probieren Sie es aus: ALTER TABLE nametable DROP PRIMARY KEY, ÄNDERN Spalten-id INT not NULL AUTO_INCREMENT PRIMARY KEY
InformationsquelleAutor jrltt
Gut, Sie müssen löschen Sie zuerst die
auto_increment
undprimary key
Sie und dann fügen Sie, wie folgt:suchen Sie Ihren code u geschrieben es verpassen FILTER und nicht zu Ändern , stellen Sie sicher, u kopiert es alle
danke, aber jetzt habe ich diese Fehlermeldung: #1064 - Sie haben einen Fehler in Ihrer SQL-syntax; Lesen Sie im Handbuch, das entspricht Ihrer MySQL-server-version für den richtigen syntax zur Verwendung in der Nähe von " ALTER TABLE Benutzer-id int not NULL AUTO_INCREMENT PRIMARY KEY(id)' in Zeile 3 sorry!
habe diese: #1064 - Sie haben einen Fehler in Ihrer SQL-syntax; Lesen Sie im Handbuch, das entspricht Ihrer MySQL-server-version für den richtigen syntax in der Nähe '(id)' at line 1
gut Sie können befolgen Sie diese Schritte in meiner Antwort
InformationsquelleAutor echo_Me
Löschen Sie den Primärschlüssel einer Tabelle, wenn Sie existiert:
Hinzufügen einer auto-increment-Spalte zu einer Tabelle :
Ändern Sie die Spalte, die wir betrachten wollen, wie der Primärschlüssel:
InformationsquelleAutor Sunny Verma
Ändern Sie einfach die Schaltfläche zu ÄNDERN und es funktioniert !
Ersetzen
Zu
InformationsquelleAutor John Joe
InformationsquelleAutor php
der integer-parameter wird, basierend auf meine standardmäßige sql-Einstellung
habt einen schönen Tag
Dies sollte die richtige Antwort.
InformationsquelleAutor Odhik Susanto
Wenn Sie den folgenden Befehl ausführen :
Dies wird Ihnen zeigen, die Fehler :
Dies ist, weil dieser Befehl wird versuchen, fügen Sie die neue Spalte mit dem Namen
id
auf die vorhandene Tabelle.Ändern der vorhandenen Spalte, die Sie haben, verwenden Sie den folgenden Befehl ein :
Diese Arbeit sollte für eine änderung des bestehenden Spalten-integritätsregel....!
InformationsquelleAutor Rajat Dabade
Check für bereits vorhandene primary key-mit anderen Spalte. Wenn ja, legen Sie den Primärschlüssel über:
und dann schreiben Sie Ihre Abfrage, wie es ist.
InformationsquelleAutor user3100184
Versuchen. Keine Notwendigkeit, lassen Sie Ihre Primärschlüssel.
InformationsquelleAutor 刘斌文
Gehen so :
ALTER TABLE yourtable DROP PRIMARY KEY
ALTER TABLE yourtable " add column Id INT not NULL AUTO_INCREMENT ERSTE, ADD primary KEY Id(Id)
Wird die Tabelle geschaut und die AutoInc aktualisiert.
InformationsquelleAutor Juhan