如何在mysql摸仿oracle的sequence功能

Posted by on | |
如何在mysql摸仿oracle的sequence功能

1.先建立一個 Table
CREATE TABLE `seq_tablename` (
`id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

2.塞入一個值到剛建立的Table中
Insert into seq_tablename (id) values (last_insert_id(id));

3.建立一個Function
DELIMITER $
CREATE FUNCTION test.seq_functionname() RETURNS int(11)
BEGIN
UPDATE test.seq_tablename SET id = LAST_INSERT_ID(id+1);
RETURN (SELECT LAST_INSERT_ID());
END;
$
DELIMITER ;

4.呼叫使用
select test.seq_functionname() from dual;

成功!


Powered by ScribeFire.

0 意見: