MySQL是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的一種,提供了多種建立主鍵的方式。
1.主鍵自增長(zhǎng):
CREATE TABLE table_name ( id INT(11) NOT NULL AUTO_INCREMENT, column_name VARCHAR(50) NOT NULL, PRIMARY KEY (id) );
這種方式創(chuàng)建一個(gè)自增長(zhǎng)的主鍵id,并將其設(shè)置為主鍵。
2.使用UNIQUE:
CREATE TABLE table_name ( id INT(11) NOT NULL, column_name VARCHAR(50) NOT NULL UNIQUE, PRIMARY KEY (id) );
這種方式創(chuàng)建一個(gè)非自增長(zhǎng)的主鍵id,但也保證這列的唯一性。應(yīng)注意,若在一張表中使用了UNIQUE方法,不要再為相同的列再次使用UNIQUE。
3.組合主鍵:
CREATE TABLE table_name ( id1 INT(11) NOT NULL, id2 INT(11) NOT NULL, column_name VARCHAR(50) NOT NULL, PRIMARY KEY (id1, id2) );
這種方式將多列作為主鍵,并保證它們的組合的唯一性。在實(shí)際應(yīng)用中,若某一列的值經(jīng)常更改,則不建議使用它作為主鍵。
4.使用自定義生成函數(shù):
CREATE TABLE table_name ( id CHAR(32) NOT NULL, column_name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ); DELIMITER $$ CREATE FUNCTION generate_id() RETURNS CHAR(32) BEGIN DECLARE current_id CHAR(32); SELECT UUID() INTO current_id; RETURN current_id; END $$ DELIMITER ;
這種方式使用了一個(gè)自定義的生成函數(shù),它調(diào)用MySQL內(nèi)置的UUID函數(shù),將返回一個(gè)具有唯一性的字符串。
綜上所述,MySQL提供了多種建立主鍵的方式,應(yīng)根據(jù)實(shí)際需求選擇最合適的方法。