簡體   English   中英

如果系統不區分大小寫,則兩個表名相同

[英]Two table names are the same if the system is case-insensitive

所以,我已經開發了一段時間了。 到目前為止,我一直在Windows 7使用VirtualBox和虛擬Linux服務器進行工作。 現在,我想在Windows 8機器上工作,而不必為虛擬Linux機器分配內存。

該項目使用一個MySQL數據庫,我將其導出,然后嘗試將其導入到Windows環境中。 顯然,分別使用Messagemessage的名稱創建了一些舊表。 這對我的虛擬Linux服務器和實時Linux服務器都沒有造成任何問題,因為表名區分大小寫,因此對於表使用兩個相似的名稱,即Messagemessage ,是完全有效的。 但是,在Windows 8 ,使用wamp ,我無法導入數據庫。

我一直在嘗試在my.ini設置一個值,如下所示:

lower_case_table_names=2

但是,當我嘗試再次導入數據庫時​​,我的嘗試沒有成功,因為Message的表名似乎又與message的表名沖突。 我希望該設置將允許我創建兩個表,一個表名為Message ,另一個表名為message 但是,該設置根本沒有幫助(是的,我已經重新啟動了mysql服務和wamp ,但是運氣不好,我根本無法導入數據庫)。 我還檢查了是否應用了lower_case_table_names=2的設置,是的,它已被應用。 但是,我仍然無法在數據庫中創建Messagemessage表。 在我絕望的交響曲中,我嘗試了

lower_case_table_names=0

同樣,但也沒有運氣。

因此,要么是我,要么是此設置不起作用(但是,它被標記為許多類似問題的解決方案)。 MySQL Server version is 5.5.24

因此,問題是: 我可以在wamp使用的MySQL服務器中解析以導入具有表名(例如message和Message)的數據庫嗎?

如果沒有解決方案(至少到最后沒有解決),我將不得不考慮兩種可能的解決方案:

  1. 在我的新筆記本電腦上安裝VirtualBox (嘆氣),並以與舊筆記本電腦相同的樣式在這台計算機上工作。

  2. 修改數據庫中表之一的名稱,並修改其在項目中的所有引用,將其部署然后使用THEN來導出和導入數據庫,而不同時具有Messagemessage表。

我知道在同一數據庫中創建消息和消息表是不明智的,但是我以這種方式繼承了該項目。 如果沒有簡易解決方案,我有兩個替代解決方案,但是如果有一個簡單的修改設置的解決方案,我真的很感興趣。

謝謝大家。

我已通過以下方式解決了該問題:

  1. 創建一個稱為消息的表

  2. 將在“消息”中找到的所有記錄插入“消息”中

  3. 刪除留言

  4. 修改對消息的所有引用,以便它們現在在消息上引用

如果有人遇到此問題,請不要等待答案,我已經等了14個小時,所以您也將浪費時間。 相反,請硬着頭皮使用我的想法,或者使用虛擬Linux機器來解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM