2013-08-03 11 views
7

Ich bin neu in MySQL, und ich habe ein Problem, wo, wenn ich versuche, eine Tabelle in meiner neu erstellten Datenbank zu erstellen "empfehle", bekomme ich die folgende Fehlermeldung:MySQL Create Tabellenfehler - Tabelle existiert nicht

ERROR 1146 (42S02): Table 'recommend.Users' doesn't exist

Ich überprüft verwandte Beiträge hier und im Internet, aber nichts half. Wenn ich die MySQL-Befehlszeile verwende, bekomme ich immer noch den gleichen Fehler.

SELECT DATABASE() FROM DUAL; 

+------------+ 

| DATABASE() | 

+------------+ 

| recommend | 

+------------+ 

1 row in set (0.00 sec) 

aber dann, wenn ich diesen Befehl ausführen:

mysql> use recommend 
Database changed 

mysql> CREATE TABLE Users (UserName VARCHAR(20),password VARCHAR(20),PRIMARY KEY(UserName)); 

ERROR 1146 (42S02): Table 'recommend.Users' doesn't exist

Ich habe auch versucht Navicat verwenden und immer noch die gleichen Fehler :(

Antwort

4

Dieses wie ein Data-Dictionary-Problem sieht. Sie können weitere Informationen erhalten, indem Sie das Fehlerprotokoll überprüfen (siehe die MySQL-Dokumentation here).

Möglicherweise haben Sie einen verwaisten Tisch. Wenn dies der Fall ist, besteht die Lösung darin, eine Tabelle mit dem gleichen Namen in einer anderen Datenbank zu erstellen und anschließend die Datei .frm in die aktuelle Datenbank zu kopieren. Dann kannst du die Tabelle DROP, und danach eine CREATE sollte dann erfolgreich sein. Weitere Details zur Fehlerbehebung dieser Art von Problem finden Sie here

+0

Ich habe gerade mysql Server deinstalliert und die alten Tabellen gelöscht, behebt dieses Problem jetzt. –

+0

Danke eine Tonne für die Hilfe :) Prost :) –

+0

@AmitP Ist stackoverflow Sie sagen "Danke" durch Abstimmung/Annahme einer Antwort. Siehe http://stackoverflow.com/help/someone-answers –

8

Ich hatte das gleiche Problem. Ich habe diesen Thread gelesen, bevor ich mit einer einfachen Lösung Glück hatte. Ich versuchte, meinen Tisch fallen zu lassen und es funktionierte, in Ihrem Fall Ihre Tabelle ist Benutzer:

DROP TABLE Users;

Die Tabelle nicht existiert, so natürlich MySQL klagt:

Error Code: 1051. Unknown table 'Users'

Aber dann lief ich meine CREATE TABLE Aussage wieder und es hat funktioniert. Hoffentlich können andere dies jedes Mal bestätigen? Viel einfacher als in ein Fehlerprotokoll zu gehen, besonders wenn Sie nicht der größte DBA/Systemadministrator/Hacker sind.

+0

Viel einfacher als muck-in im Dateisystem! Vielen Dank! – Michael

+0

Funktioniert für mich. Danke – bam

+0

Arbeitete auch für mich. Ein eleganter Weg, falls Ihnen eine Tabellendatensicherung egal ist. – sba