ÀÛ¼ºÀÚ : ÀåÇüÈ­ ÀÛ¼ºÀÏ : 2002. 11. 21 ¼öÁ¤ÀÏ : Á¦¸ñ : MySQL ¿¡¼­ ¿À¶óŬÀÇ sequence ±¸ÇöÇϱâ ... ÀÏ´Ü seqname À̶ó´Â Å×À̺íÀ» »ý¼ºÇÑ´Ù. À̶§ Á¶½ÉÇÒ°ÍÀº rollback À» Áö¿øÇϵµ·Ï ŸÀÔÀ»(TYPE=BDB) ¼³Á¤ÇÏ¸é ¾ÈµÈ´Ù. ## sequence »ý¼º CREATE TABLE seqname ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY(id) ); # TYPE=BDB; ## ÃʱⰪ ÀÔ·Â # id ¿¡ 1ÀÌ µé¾î°£´Ù. INSERT INTO seqname VALUES(0); ## Æ®·£Àè¼ÇÀ» ÀÌ¿ëÇÑ´Ù. BEGIN; SELECT GET_LOCK('seqname_lock',10); UPDATE seqname SET id=LAST_INSERT_ID(id+1); SELECT MAX(id) FROM seqname; SELECT RELEASE_LOCK('seqname_lock'); ## seqname Àº BDB ŸÀÔÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ¿¡·¯°¡ ³­´Ù. ROLLBACK; ## seqname Àº BDB °¡ ¾Æ´Ï±â ¶§¹®¿¡ # ROLLBACK ½Ã °ªÀÌ º¯°æµÇÁö ¾Ê´Â´Ù. # Çѹø º¯°æµÈ °ªÀº DB ¿¡ ÀúÀåÀÌ µÇ°í... # BDB ŸÀÔÀÇ Å×ÀÌºí¿¡ ´ëÇÑ DML ¸¸ rollback µÈ´Ù. # ######################################## # Âü°í »çÇ× ######################################## mysql> select VERSION(); +-----------+ | VERSION() | +-----------+ | 3.23.52 | +-----------+ ¿¡¼­´Â ... auto_increment Çʵ忡 ´ëÇØ... id=4 À̸é id -------------- ÀÔ·Â | 5 »èÁ¦ | 5 ÀÔ·Â | 6 °ú °°ÀÌ ¹øÈ£¸¦ °Ç³Ê ¶Ú´Ù. ¿¹Àü¿¡´Â »õ·Î ÀÔ·ÂÇϸé 5 °¡ ÀԷµȰŠ°°¾Ò´Ù. -.-;;