我正在使用VARCHAR作爲我的主鍵。我想自動遞增它(基地62,小寫/大寫,數字),但是,下面的代碼失敗(原因很明顯):MySQL - 如何使用VARCHAR作爲AUTO INCREMENT主鍵
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
然而,這個工程:
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
什麼跟蹤自己的id增加的最好方法是什麼? (由於auto_increment不起作用)。我是否需要製作另一張包含當前ID迭代的表格?還是有更好的方法來做到這一點?
編輯:我想澄清一點,我知道使用INT是一個auto_increment主鍵是合乎邏輯的路要走。這個問題是爲了迴應我之前看到的一些對話。由於
Offtopic:你確定要使用MyISAM嗎?對於關係數據庫,您需要在MySQL中使用innoDB來創建外鍵。 – 2010-08-11 06:36:56
不,我不確定。我一直在使用MySQL已經有一段時間了,但是,有人告訴我應該在大部分時間使用MyISAM,並且我只是用它來做:P – 2010-08-11 12:20:31