色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql數據庫自動編號字母

夏志豪2年前9瀏覽0評論

MySQL數據庫中,我們常常需要使用自動編號來作為主鍵,方便進行數據CRUD操作。如果直接使用整型自增編號,可能會造成數據泄露或者數據安全問題,因此建議使用自動編號字母。

CREATE TABLE user (
id CHAR(8) NOT NULL DEFAULT '',
name VARCHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DELIMITER $$
CREATE TRIGGER tr_user_insert
BEFORE INSERT ON user FOR EACH ROW
BEGIN
IF NEW.id = '' THEN
SET NEW.id = CONCAT(CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65), CHAR(FLOOR(RAND() * 26) + 65));
END IF;
END $$
DELIMITER ;

以上代碼中的user表中id使用了8位字符類型,也就是說可以支持6.5億種不同的編號組合。在插入一個新行數據之前,會自動嵌入一個觸發器,判斷是否已經有自動編號,如果沒有則使用8位16進制數進行自動編號的生成。

使用上述代碼生成的字母編號可以輕易地應用在任何需要自動編號鮮活的表格結構中。