我設計了我的數據庫,並使用varchar來創建唯一的名稱。我做了一個表產品,每個產品都有一個產品代碼,而且這個代碼是唯一的,它不能重複,大多數情況下這是我父表中的主鍵。這個想法是,例如我有一支蠟燭,蠟燭有不同的顏色,所以不同的產品,我可以通過產品代碼使產品名稱明顯不同。我沒有使用或將一個表命名爲int類型的可索引id,並且在插入新項時auto_increments。我只是使用唯一的代碼作爲我的外鍵其他表的索引器。可以在MySQL表中使用字符串作爲您的ID嗎?
我不知道這是否是個好主意,我對PHP MySQL很陌生,在將值插入到不同的表中時遇到了一些問題,所以我使用產品代碼將它們鏈接起來。現在我只知道mysqli_insert_id這些東西可以很久以前解決我的問題。
所以,我可以只使用一個非標準的行ID的字符串類型的行ID?
假設您在表格上有某種形式的索引,應該沒有問題。 – BenM 2013-02-15 15:13:04
一個ID可以是任何你想要的。在內部使用int會更高效,但大多數可以使用一個唯一索引的東西都可以用作ID。 – 2013-02-15 15:13:20
字符串類型主鍵與int類型的索引大小相比是否使索引大小更大? – SparKot 2013-02-15 15:15:47