嗨,我正在尋找最高效的方式,以確保一個唯一的用戶名。 我已經檢查過類似的問題,但沒有一個讓我開心。 所以我想出了我的解決方案。我感謝您的意見。的MySQL + PHP保證唯一的用戶名(自動增加後綴)
CREATE TABLE IF NOT EXISTS `user` (
`guid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`firstname` varchar(48) NOT NULL,
`lastname` varchar(48) NOT NULL,
`username` varchar(128) NOT NULL,
`unique_username` varchar(128) NOT NULL,
PRIMARY KEY (`guid`),
KEY `firstname` (`firstname`),
KEY `lastname` (`lastname`),
KEY `username` (`username`),
UNIQUE KEY `unique_username` (`unique_username`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
username
包含firstname.lastname
沒有數字後綴而unique_username
包含firstname.lastname.(count of equal usernames)
獲得用戶名相同的數,我執行對用戶表下面的查詢(提前插入)。
SELECT COUNT(*) FROM user WHERE username = 'username'
可惜我不能使用查找對firstname and lastname
因爲它們是區分大小寫的。
如何時間戳(YYYYMMDDHHSS)+姓氏爲唯一的用戶名呢? – scubasteve623
謝謝。我更喜歡Facebook的方式(在最後添加一個數字)。由於用戶名可以在谷歌中找到。 – Vincenzo