MySQL是一款常用的關系型數據庫管理系統,在開發實踐中我們常常需要使用序列號存儲數據。那么,MySQL如何生成序列號呢?下面是一些常用的語句。
-- 方式一:使用自增列 CREATE TABLE `table_name` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 插入數據時不用指定id INSERT INTO table_name (`name`) VALUES ('name1'), ('name2'); -- 方式二:使用觸發器 DELIMITER // CREATE TRIGGER trg_insert_table_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN DECLARE seq INT DEFAULT 0; SELECT MAX(id) + 1 INTO seq FROM table_name; IF seq IS NULL THEN SET seq = 1; END IF; SET NEW.id = seq; END; // DELIMITER ; -- 插入數據時不用指定id INSERT INTO table_name (`id`, `name`) VALUES (NULL, 'name1'), (NULL, 'name2');
使用自增列生成序列號是最常用的方式,MySQL會自動為每個插入的行分配一個遞增的整數值。使用觸發器生成序列號的方式相對復雜,但也可用于自定義序列號生成規則。
上一篇mysql生成數據庫表
下一篇css 文字加刪除線