[英]Two table names are the same if the system is case-insensitive
所以,我已經開發了一段時間了。 到目前為止,我一直在Windows 7
使用VirtualBox
和虛擬Linux
服務器進行工作。 現在,我想在Windows 8
機器上工作,而不必為虛擬Linux
機器分配內存。
該項目使用一個MySQL
數據庫,我將其導出,然后嘗試將其導入到Windows
環境中。 顯然,分別使用Message
和message
的名稱創建了一些舊表。 這對我的虛擬Linux
服務器和實時Linux
服務器都沒有造成任何問題,因為表名區分大小寫,因此對於表使用兩個相似的名稱,即Message
和message
,是完全有效的。 但是,在Windows 8
,使用wamp
,我無法導入數據庫。
我一直在嘗試在my.ini
設置一個值,如下所示:
lower_case_table_names=2
但是,當我嘗試再次導入數據庫時,我的嘗試沒有成功,因為Message
的表名似乎又與message
的表名沖突。 我希望該設置將允許我創建兩個表,一個表名為Message
,另一個表名為message
。 但是,該設置根本沒有幫助(是的,我已經重新啟動了mysql
服務和wamp
,但是運氣不好,我根本無法導入數據庫)。 我還檢查了是否應用了lower_case_table_names=2
的設置,是的,它已被應用。 但是,我仍然無法在數據庫中創建Message
和message
表。 在我絕望的交響曲中,我嘗試了
lower_case_table_names=0
同樣,但也沒有運氣。
因此,要么是我,要么是此設置不起作用(但是,它被標記為許多類似問題的解決方案)。 MySQL Server version is 5.5.24
。
因此,問題是: 我可以在wamp使用的MySQL服務器中解析以導入具有表名(例如message和Message)的數據庫嗎?
如果沒有解決方案(至少到最后沒有解決),我將不得不考慮兩種可能的解決方案:
在我的新筆記本電腦上安裝VirtualBox
(嘆氣),並以與舊筆記本電腦相同的樣式在這台計算機上工作。
修改數據庫中表之一的名稱,並修改其在項目中的所有引用,將其部署然后使用THEN來導出和導入數據庫,而不同時具有Message
和message
表。
我知道在同一數據庫中創建消息和消息表是不明智的,但是我以這種方式繼承了該項目。 如果沒有簡易解決方案,我有兩個替代解決方案,但是如果有一個簡單的修改設置的解決方案,我真的很感興趣。
謝謝大家。
我已通過以下方式解決了該問題:
創建一個稱為消息的表
將在“消息”中找到的所有記錄插入“消息”中
刪除留言
修改對消息的所有引用,以便它們現在在消息上引用
如果有人遇到此問題,請不要等待答案,我已經等了14個小時,所以您也將浪費時間。 相反,請硬着頭皮使用我的想法,或者使用虛擬Linux機器來解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.