2010-12-03 27 views
0

所以我有一個類創建一個表,填充數據。現在我有所有列名稱相同(產品名稱,日期等)。我注意到,當我在Webmin中查看我的表時,儘管事實上存在兩個使用索引的表,但只有一個名爲「product_date」的索引。我認爲這不會很好。兩個包含不同信息的帶有索引的列表,列名相同,會有衝突嗎?

我的問題是這是否會導致未來的衝突?如果我以後只需要重新構造所有內容,我不想用成千上萬的行填充表。我無法想象我是第一個遇到這個......也許我只是誤導了索引工作/ webmin顯示索引和過度偏執。

(編輯)

在回答下面一個評論,這裏有SHOW的結果CREATE TABLE表名:

c_1 | CREATE TABLE c_1 (
    p_id int(11) NOT NULL auto_increment, 
    nm varchar(100) NOT NULL, 
    m_name text NOT NULL, 
    PRIMARY KEY (p_id), 
    KEY nm (nm), 
    FULLTEXT KEY m_name (m_name) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 

c_2 | CREATE TABLE c_2 (
    p_id int(11) NOT NULL auto_increment, 
    ne varchar(100) NOT NULL, 
    m_name text NOT NULL, 
    PRIMARY KEY (p_id), 
    KEY nm (nm), 
    FULLTEXT KEY metaphone_name (m_name) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 

請注意,所有的等效列索引的命名方式相同。

+0

您是檢查表上還是單個表上的索引?也許索引是在兩個表上創建的。在兩個表上嘗試`show create table yourtablename`來查看。 – Danosaure 2010-12-03 16:04:31

回答

0

如果它是每張表的索引,則沒有問題

+0

我認爲你是對的,我的問題是我對Webmin不熟悉,這使得它看起來像是多列表共享一列索引。這就是我使用GUI所得到的結果。我能夠使用`SHOW INDEXES FROM c1;`和`SHOW INDEXES FROM c2;`他們都看起來合法......感謝您的幫助。 – 2010-12-03 16:56:46

0

如果我正確理解你的問題(一個大的話),你必須創建一個索引每個表。索引不包括多個表,直到您進入像索引/實例化視圖這樣的高級概念,我認爲MySQL不處理這些概念。

+0

當我創建表格時,我正在爲每個表格創建索引...但我的索引具有相同的名稱。我需要知道是否會在稍後創建衝突,或者如果我應該更改每個表上的列名,以便索引(在創建表時自動創建)以不同的方式命名。 – 2010-12-03 16:19:41

相關問題