Ich versuche derzeit, eine SQL-Datei zu verwenden, um eine Tabelle zu meiner Datenbank in phpMyAdmin hinzuzufügen und dann mit Daten zu füllen. Ich habe das bei vielen Gelegenheiten erfolgreich gemacht, aber ich bin auf ein ernstes Problem gestoßen, das ich auch nicht lösen kann, egal was ich versuche. Vorher habe ich 'int' als meinen primären Schlüsseltyp verwendet, aber ich muss jetzt 'char' als meinen primären Schlüsseltyp verwenden. Hier scheint das Problem zu liegen. Ich habe online gesucht und verschiedene Lösungen mit unterschiedlichen Ergebnissen versucht. Alle Ergebnisse entsprechen dem Versagen.SQL - 'char' auto_increment Probleme
Ich habe meinen ursprünglichen Code unten gezeigt, der fehlgeschlagen ist und mich auch nach Lösungen online suchen ließ, aber zu keinen Erfolg.
--
-- Table structure for table `practice`
--
CREATE TABLE `practice` (
`practice_Id` char(2) NOT NULL auto_increment,
`Practice_Name` varchar(20) NOT NULL,
`Practice_Address` varchar(50) NOT NULL,
PRIMARY KEY (`practice_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Dumping data for table `practice`
--
INSERT INTO `practice` VALUES(P1, 'Practice Head Office', '27, The Hill, Glasgow');
INSERT INTO `practice` VALUES(P2, 'Practice Unit 1', 'Unit 1, Houston Estate, Glasgow');
Wenn ich versuche, und diese Datei zu meiner Datenbank importieren ich die folgende Antwort erhalten:
#1063 - Incorrect column specifier for column 'practice_Id'
Nun fand ich eine Lösung auf dieser Seite sehr darauf. Fügen Sie unsigned einfach zu auto_increment hinzu und es sollte funktionieren, da auto_increment mit ints und floats arbeitet. Ich fügte dieses der Datei hinzu und versuchte dann, es noch einmal zu importieren. Wieder scheiterte dies mir noch mehr Fehler geben, die unten:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unsigned auto_increment,
`Practice_Name` varchar(20) NOT NULL,
`Practice_Add' at line 6
ich unsigned auto_increment allein versucht zu verlassen, aber ich habe wie oben die gleichen Ergebnisse.
Ich brauche wirklich Hilfe, da dies scheint unmöglich zu passieren. Es gibt keine Syntaxfehler, daher macht es keinen Sinn. Irgendwelche Fragen nur fragen, aber ich habe meine Versuche oben und alle Lösungen, die ich gefunden habe. Ich habe andere SQL-Dateien mit diesem Problem, also wirklich das ist eine massive Hürde für mich und meine letzte Arbeit.
Sie müssen keinen Primärschlüssel haben. Sie können weiterhin normalen, numerischen, automatisch inkrementierten Primärschlüssel verwenden und eine andere Zeichenspalte verwenden, die Sie als 'eindeutig' kennzeichnen. –