Ich habe eine Datenbank mit drei Tabellen. Die Tabelle Authentication enthält folgende Komponenten:Korrekte Erstellung einer relationalen Datenbank
+----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| userid | varchar(30) | NO | | NULL | |
| password | varchar(30) | NO | | NULL | |
| role | varchar(20) | NO | | NULL | |
| email | varchar(50) | YES | | NULL | |
+----------+-----------------+------+-----+---------+----------------+
Anmeldung enthält folgende Komponenten:
+--------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| TimeLoggedIn | text | NO | | NULL | |
| sessionid | varchar(255) | NO | | NULL | |
+--------------+-----------------+------+-----+---------+----------------+
Und Aktivität:
+----------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+-------+
| id | int(6) unsigned | NO | PRI | NULL | |
| Torrents | mediumtext | NO | | NULL | |
+----------+-----------------+------+-----+---------+-------+
Es gibt eine Beziehung zwischen den ID Bereichen Authentifizierung ID in die anderen Tabellen.
Ich muss mehrere Zeilen in Activity hinzufügen, mit mehreren Werten für Torrents für jede ID. Leider, wenn ich versuche, eine neue Zeile mit duplizierten id Wertschöpfung mit:
INSERT INTO `Activity` (`id`, `Torrents`) VALUES ('1', 'dssfsdffdsffs');
es mir den Fehler gibt: #1062 - Duplicate entry '1' for key 'PRIMARY'
Wie kann ich es lösen? Wie habe ich die Tabelle falsch erstellt?
Ich habe folgendes offenbar doppelte Fragen lauten:
Aber obwohl es es als meine primäre Schlüssel zu entfernen, sagt mysql nur knapp sein Ziel erlauben Sie mir eine Beziehung zu erstellen, es sei denn ich gemacht es ist ein Primärschlüssel.
Ist das nicht, was passieren soll? – Strawberry
@Strawberry Meinst du, ich kann keine Zeilen mit doppeltem ID-Wert haben? – Droidzone
Nicht, wenn es ein PRIMÄRSCHLÜSSEL ist. Entweder ID und Torrents zusammen bilden eine natürliche PK, oder Sie haben eine Ersatzaktivität activity_id Spalte. Wenn Sie sich für einen Ersatzschlüssel entscheiden, wird normalerweise ein UNIQUE KEY für die verbleibenden Spalten gebildet. – Strawberry