| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
KlausD Mitglied
|
MySQL kann in phpmyadmin kein index anlegen |
|
|
Hallo Werner,
auf meinem Localhost war es kein Problem mit deinem Script eine Tabelle in MySQL anzulegen phpmyadmin-Version 3.2.4 auf meinem Online-Server
phpmyadmin 2.11.5.1 klappte es nicht also hab ich die Tabelle manuell erzeugt nur weiß ich jetzt nicht wie ich die das Feld "id" als Index festlegen kann und leider kann ich auch auto_increment nicht vergeben.
Es kommt immer diese Fehlermeldung
| Zitat: | SQL-Befehl:
ALTER TABLE `linkliste` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT
MySQL meldet: Dokumentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key |
vielleicht kannst Du mir helfen.
Grüße KlausD |
|
|
|
| 12 Mai 2010 21:55 |
|
  |
David Administrator

|
 |
|
|
Hallo Klaus, ich bin nicht gerade der SQL-Spezialist wenn ich aber die Fehlermeldung korrekt interpretiert habe, heißt es, dass bereits ein Feld mit auto_increment vorhanden ist und kein zweites angelegt werden kann.
Um welches Script handelt es sich? |
_________________ MfG David Mirzoian
axinio Internet Marketing - professionelle Suchmaschinenoptimierung |
|
|
| 12 Mai 2010 22:22 |
|
 |
KlausD Mitglied
|
 |
|
|
Hallo David,
es handelt sich um MySQL-Datenbank-Linkliste
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?php
// Verbindung zum Datenbank-Server
include("verbindung.php");
// Eine Tabelle mit dem Namen "linkliste" anlegen
// SQL-Befehl
$sql = "CREATE TABLE `linkliste` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`kategorie` VARCHAR(30) NOT NULL ,
`beschreibung` TEXT NOT NULL ,
`link` VARCHAR(80) NOT NULL ,
`hits` INT(12) NOT NULL ,
`datum` DATE NOT NULL
) ENGINE = MYISAM
";
// SQL-Befehl ausführen
if (mysql_query($sql)) {
echo "<h4>Die Tabelle wurde erstellt.</h4>
<a href=\"formular.php\">Weiter zum Formular</a>";
}
else {
echo "<h4>Fehler beim erstellen der Tabelle.</h4>" .
mysql_error();
}
?> |
Ich verstehe die Fehlermeldung auch so wie Du aber es ist kein weiteres Feld mit auto_increment vorhanden.
Und leider weiß ich nicht welchen Key man eintragen muß.
Grüße KlausD |
|
|
|
| 13 Mai 2010 10:34 |
|
 |
Forrest Gumb Mitglied

|
 |
|
|
probiers mal damit -->
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $sql = "DROP TABLE IF EXISTS `linkliste`;
CREATE TABLE IF NOT EXISTS `linkliste`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`kategorie` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`beschreibung` text COLLATE utf8_unicode_ci NOT NULL,
`link` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
`hits` int(12) NOT NULL,
`datum` date NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM
DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci
ROW_FORMAT=DYNAMIC
AUTO_INCREMENT=1 "; |
Aber Vorsicht. Deine Einträge bitte vorher sichern, weil "Drop Table" Deine Tabelle erst einmal löscht. |
_________________ 4rest
Wende Dein Gesicht ins Licht, dann werden die Schatten hinter Dir sein.
[ forrest ] - [ more ] |
|
|
| 14 Mai 2010 10:53 |
|
 |
KlausD Mitglied
|
 |
|
|
Super, danke das hat funktioniert!
Grüße KlausD |
|
|
|
| 14 Mai 2010 18:59 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Die meisten Provider verwenden eine angepasste Version von phpMYadmin.
Dennoch ist es möglich per Hand die Spalte zu bearbeiten.
Wähle: DB-Tabelle -> Structure -> Field (Feld id) -> Change -> Und setze bei AUTO_INCREMENT einen Haken. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 14 Mai 2010 22:57 |
|
 |
KlausD Mitglied
|
 |
|
|
@Werner,
so habe ich es versucht, leider kam immer die oben beschriebene Fehlermeldung.
Aber jetzt geht es ja
P.S. das soll nicht heißen das Dein Hinweis falsch ist. |
|
|
|
| 17 Mai 2010 20:17 |
|
 |
|