2011-02-27 80 views
0

當我在C:\ ProgramData \ MySQL \ MySQL Server 5.5 \ data中導航到我的數據庫並刪除文件夾後,表格仍以某種方式保存。當我嘗試再次運行我的PHP腳本時,出現此錯誤:「創建用戶表時出錯:表''databaseNametableName'已存在。」手動刪除數據庫後表格會持續存在嗎?

的觸發該錯誤代碼行是這樣的:

mysql_query($createTableQuery) or die('Error creating users table: ' . mysql_error()); 

爲了解決這個問題,我不得不重新命名錶,然後重新運行該腳本。每次在測試我的代碼時刪除我的數據庫時,必須找到新的表名變得非常麻煩。

是否有人知道刪除表的命令?或者也許這些表存儲在我的電腦上,以便我可以手動刪除它們?我寧願遠離命令,而是確切地知道這些表的存儲位置,以便我可以找到並刪除它們。

+0

我們在談論innodb表嗎?他們保存的方式不同。在進行手動刪除之前是否關閉了服務器?爲什麼不做一個簡單的DROP? – Konerak 2011-02-27 22:09:01

回答

2

你知道的(?):

DROP TABLE [name]; 
+0

是的,但這些表存儲在我的硬盤上?他們是否可以手動刪除?我很好奇他們的文件名。 – 2011-02-27 22:11:21

+0

查看my.ini的'datadir' – mailo 2011-02-27 22:12:57

+0

是的datadir是「datadir =」C:/ ProgramData/MySQL/MySQL Server 5.5/Data /「我已經知道了,我已經從那裏手動刪除了數據庫,但表格是顯然存儲在其他地方 – 2011-02-27 22:24:08

1

您應該使用drop database

不刪除這些文件。其他地方可能會存儲元數據。

I'd prefer to stay away from commands and rather know exactly where these tables were stored so that I could find them and delete them.

這是天真的思維方式。使用公共接口(SQL)而不是文件系統。如果存儲機制發生變化,你會怎麼做?在MySQL中有很多存儲引擎,它們都不以相同的方式工作。

+0

他可以刪除元數據?爲什麼(不)?它在哪裏? – Konerak 2011-02-27 22:11:31

+0

是的,我現在將使用命令,但我仍然是c對於表格存儲在我的文件系統中的位置來說很重要。 – 2011-02-27 22:25:05

相關問題