php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.10.2007, 23:01  
Neuer Benutzer
 
Registriert seit: 31.10.2007
Beiträge: 3
dealer
Standard DB Portierung ins neue Mysql: Error 1060 duplicate column

Moins,

bin nach Vista gewächselt und hab die Chance wahrgenommen, die neueste Mysql Version zu installieren.

Meine Portierungsmethode ist vielleicht zu intuitiv, aber sie funktioniert: ich hab einfach den mysql\data\<datenbankname> - Ordner kopiert.

So weit ich mitbekommen habe, hat nur eine der 23 Tabellen das oben genannte Problem.

mysql> explain auction;
+-------------------+---------------------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------------+------+-----+---------------------+-------+
| auctionId | bigint(20) unsigned | NO | PRI | 0 | |
| SellerId | varchar(45) | YES | | NULL | |
| actualBid | decimal(6,2) unsigned | YES | | 0.00 | |
| porto | decimal(6,2) unsigned | YES | | NULL | |
| foil | tinyint(1) | YES | | NULL | |
| condition | varchar(10) | YES | | NULL | |
| numberCards | tinyint(3) unsigned | YES | | NULL | |
| end | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| numberBids | smallint(5) unsigned | YES | | NULL | |
| category | varchar(10) | YES | | NULL | |
| actualBidder | varchar(30) | YES | | NULL | |
| pictureURL | text | YES | | NULL | |
| minimumBid | decimal(6,2) unsigned | YES | | NULL | |
| type | tinyint(3) unsigned | YES | MUL | NULL | |
| cardId | int(10) unsigned | YES | MUL | 0 | |
| ended | tinyint(3) unsigned | YES | | 0 | |
| deltatoaverage | float | YES | | NULL | |
| enabled | tinyint(3) unsigned | YES | MUL | NULL | |
| notes | text | YES | | NULL | |
| numberAuctionUsed | int(10) unsigned | YES | MUL | NULL | |
| cardAverage | float | YES | MUL | NULL | |
| auctionAverage | float | YES | MUL | NULL | |
| descriptionPath | varchar(200) | NO | | | |
| title | varchar(200) | YES | | NULL | |
| idcardwant | int(10) unsigned zerofill | YES | MUL | NULL | |
| bombid | float unsigned zerofill | YES | | NULL | |
| bomstatus | int(10) unsigned | YES | | NULL | |
+-------------------+---------------------------+------+-----+---------------------+-------+

mysql>ALTER TABLE `magicdb`.`auction` MODIFY COLUMN `porto` DECIMAL(6,2) UNSIGNED NOT NULL;

MySQL Error Number 1060
Duplicate column name 'ended'



Versteh ich nämlich leider nicht. Es gibt doch keine 2 Spalten mit dem Namen 'ended'. Oder gibt es noch andere Erklärungen? Dieser Fehler tritt bei jedem beliebigen Befehl auf, der die Struktur oder Inhalt verändert.

Vielen Dank im Voraus.
Marco
dealer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.11.2007, 03:55  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und willkommen im Forum

Wenn man nach dem Fehler "1060 site:mysql.com" sucht, bekommt man ziemlich viele Bug-Reports. Vielleicht ackerst du die zuerst durch, vielleicht hilft dir das ja bereits.
Zergling-new ist offline   Mit Zitat antworten
Alt 01.11.2007, 22:51  
Neuer Benutzer
 
Registriert seit: 31.10.2007
Beiträge: 3
dealer
Standard

ok ich lös das problem mal auf:

Seit der neuen Version von mysql wird schärfer auf die Regeln bestanden.
1. bei SQL-Statements (insbesondere joins) müssen viel öfter als früher (vielleicht jetzt immer) Spalten mit Tabellen genannt werden.
--> SELECT tabelle.id from tabelle, tabelle2;
frühere Version hat auch dies erlaubt da in tabelle2 keine Spalte id vorkam:
--> SELECT id from tabelle, tabelle2;

(siehe zu Punkt 1 meinen nächsten Eintrag)

Zweitens und die Lösung meines Problems oben, sind die Indexe, die ich in einer älteren Version anlegte. Versehendlich mit der doppelten Spalte 'ended'. Jetzt sind die Regeln verschärft worden, was mich nicht sofort zum Lösungsansatz führte.

Vielen Dank
Marco
dealer ist offline   Mit Zitat antworten
Alt 01.11.2007, 23:19  
Neuer Benutzer
 
Registriert seit: 31.10.2007
Beiträge: 3
dealer
Standard

Man lernt ja und den oben genannten ersten Punkt möchte ich verneinen. Dort hat sich nichts geändert. Ich hatte nur damit gesorgt, dass das NUN reservierte Wort CONDITION als Spaltenname erkannt wird.

Schönen Abend noch
Marco
dealer ist offline   Mit Zitat antworten
Alt 02.11.2007, 08:45  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 466
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok ... ich hätte sonst noch auf "nicht-MyISAM" getippt ... denn soweit mir bekannt lässt InnoDB diese Art der "intuitiven Portierungsmethode" nicht zu ...

Die Problematik mit den Indexen hatte ich auch - allerdings kam das über ein Backup mit phpMyAdmin zustande. Seit dem habe ich dafür meinen exec-Befehl (ohne collate), der mir ein Vollbackup macht und als .sql ablegt - nur bei Bedarf.
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Bug #15229: Unkown column bei JOINs pcschröda Datenbanken 4 11.04.2008 11:10
neue id ermitteln oder mysql struktur ändern? Promaetheus PHP Tipps 2006 5 26.07.2006 18:15
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Suche Programmierer, Designer, Schreiber... blinkster.de Beitragsarchiv 76 14.08.2005 18:31
MySQL error: Column count doesn't match value count at row 1 atom-dragon PHP Tipps 2005-2 4 21.07.2005 01:38
Wie kann ich MySQL dazu vepflichten neue Datensätze immer... PHP Tipps 2004-2 7 16.11.2004 17:55
[Erledigt] MySQL meldet Column count doesn't match value count at row Datenbanken 4 21.10.2004 10:45
neue mysql tabelle per php erstellen PHP Tipps 2004 2 05.09.2004 16:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
#1060 - duplicate column name, mysql error 1060, mysql fehler 1060, #1060 - duplicate column name \'null\', mysql error number: 1060, error 1060 mysql, mysql 1060, error 1060, 1060 - duplicate column name, mysql errno 1060, \#1060 - duplicate column name \'null\'\, 1060 mysql, mysql #1060, mysql error number 1060, sql error 1060, duplicate column name \'id\', fehler 1060 mysql, mysql duplicate column name, #1060 - duplicate column name \'products_options_values_desc\', mysql fehler #1060

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.