{"id":89,"date":"2025-11-06T02:47:31","date_gmt":"2025-11-06T02:47:31","guid":{"rendered":"https:\/\/5047878.net\/blog\/?p=89"},"modified":"2025-11-06T02:49:30","modified_gmt":"2025-11-06T02:49:30","slug":"mdb-%ed%8c%8c%ec%9d%bc-%ec%9e%90%eb%8f%99%eb%b2%88%ed%98%b8-insert-%eb%b0%a9%eb%b2%95-%ed%8c%8c%ec%9d%b4%ec%8d%ac-php-%ec%98%88%ec%a0%9c","status":"publish","type":"post","link":"https:\/\/5047878.net\/?p=89","title":{"rendered":"MDB \ud30c\uc77c \uc790\ub3d9\ubc88\ud638 INSERT \ubc29\ubc95 (\ud30c\uc774\uc36c \/ PHP \uc608\uc81c)"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">\ud83d\udcbe MDB \ud30c\uc77c \uc790\ub3d9\ubc88\ud638 INSERT \ubc29\ubc95 (\ud30c\uc774\uc36c \/ PHP \uc608\uc81c)<\/h1>\n\n\n\n<p>Access(MDB) \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub2e4 \ubcf4\uba74, \uc790\ub3d9\uc73c\ub85c \ubc88\ud638\uac00 \uc99d\uac00\ud558\ub294 <strong>AutoNumber(\uc790\ub3d9\ubc88\ud638)<\/strong> \ud544\ub4dc\ub97c \uac00\uc9c4 \ud14c\uc774\ube14\uc5d0 \ub370\uc774\ud130\ub97c \ucd94\uac00\ud574\uc57c \ud560 \ub54c\uac00 \ub9ce\uc2b5\ub2c8\ub2e4.<br>\uc774 \uae00\uc5d0\uc11c\ub294 \uc790\ub3d9\ubc88\ud638 \ud544\ub4dc\uc758 \uc791\ub3d9 \uc6d0\ub9ac\uc640, \ud30c\uc774\uc36c(PyODBC) \/ PHP(ODBC)\uc5d0\uc11c INSERT\ud560 \ub54c \uc8fc\uc758\ud560 \uc810\uc744 \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 1. AutoNumber \ud544\ub4dc\ub780?<\/h2>\n\n\n\n<p>Microsoft Access\uc5d0\uc11c\ub294 \ub808\ucf54\ub4dc\uac00 \ucd94\uac00\ub420 \ub54c\ub9c8\ub2e4 \uc790\ub3d9\uc73c\ub85c \uc99d\uac00\ud558\ub294 \ud544\ub4dc\ub97c <strong>AutoNumber(\uc790\ub3d9\ubc88\ud638)<\/strong> \ud615\uc2dd\uc73c\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>\uc774 \ud544\ub4dc\ub294 \uc77c\uc885\uc758 \uace0\uc720 \ud0a4(primary key) \uc5ed\ud560\uc744 \ud558\uba70, \ub370\uc774\ud130 \uc0bd\uc785 \uc2dc <strong>\uc0ac\uc6a9\uc790\uac00 \uac12\uc744 \uc9c1\uc811 \ub123\uc9c0 \uc54a\uc544\uc57c<\/strong> \uc790\ub3d9 \uc99d\uac00\uac00 \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \ud14c\uc774\ube14\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>ID (AutoNumber)<\/th><th>Name<\/th><th>Email<\/th><th>RegDate<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>\ud64d\uae38\ub3d9<\/td><td><a>hong@test.com<\/a><\/td><td>2025-10-22<\/td><\/tr><tr><td>2<\/td><td>\uc774\uc21c\uc2e0<\/td><td><a>lee@test.com<\/a><\/td><td>2025-10-23<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\uc774\ub54c, <code>ID<\/code> \uceec\ub7fc\uc740 Access\uac00 \uc790\ub3d9\uc73c\ub85c \ubc88\ud638\ub97c \ubd80\uc5ec\ud558\ubbc0\ub85c <code>INSERT<\/code> \uad6c\ubb38\uc5d0\uc11c \uc0dd\ub7b5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2699\ufe0f 2. SQL \uae30\ubcf8 \uc608\uc2dc<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO members (name, email, reg_date)\nVALUES ('\ud64d\uae38\ub3d9', 'hong@test.com', NOW());\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udc49 <code>ID<\/code> \ud544\ub4dc\ub97c \uc4f0\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.<br>Access\uac00 \ub2e4\uc74c \ubc88\ud638\ub97c \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udc0d 3. \ud30c\uc774\uc36c(PyODBC)\uc73c\ub85c MDB INSERT \ud558\uae30<\/h2>\n\n\n\n<p>\ud30c\uc774\uc36c\uc5d0\uc11c\ub294 <code>pyodbc<\/code> \ubaa8\ub4c8\uc744 \ud1b5\ud574 MDB(Access) \ud30c\uc77c\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>\uc544\ub798 \uc608\uc2dc\ub294 <code>members<\/code> \ud14c\uc774\ube14\uc5d0 \uc0c8\ub85c\uc6b4 \ud68c\uc6d0 \uc815\ubcf4\ub97c \ucd94\uac00\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import pyodbc\n\n# MDB \ud30c\uc77c \uc5f0\uacb0\nconn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\data\\test.mdb;')\ncursor = conn.cursor()\n\n# AutoNumber \ud544\ub4dc\ub294 \uc0dd\ub7b5\nsql = \"INSERT INTO members (name, email, reg_date) VALUES (?, ?, ?)\"\ncursor.execute(sql, ('\ud64d\uae38\ub3d9', 'hong@test.com', '2025-10-23'))\nconn.commit()\n\n# \ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc0dd\uc131\ub41c \uc790\ub3d9\ubc88\ud638 \ud655\uc778\ncursor.execute(\"SELECT @@IDENTITY\")\nlast_id = cursor.fetchone()&#91;0]\nprint(\"\uc0c8\ub85c \ucd94\uac00\ub41c \ud68c\uc6d0 ID:\", last_id)\n\ncursor.close()\nconn.close()\n<\/code><\/pre>\n\n\n\n<p>\u2705 \uc2e4\ud589 \ud6c4 \ucd9c\ub825 \uc608\uc2dc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uc0c8\ub85c \ucd94\uac00\ub41c \ud68c\uc6d0 ID: 3\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udca1 <code>@@IDENTITY<\/code> \ub294 Access SQL\uc5d0\uc11c \ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc0dd\uc131\ub41c \uc790\ub3d9\ubc88\ud638(AutoNumber) \uac12\uc744 \ubc18\ud658\ud558\ub294 \ud568\uc218\uc785\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcbb 4. PHP(ODBC)\ub85c MDB INSERT \ud558\uae30<\/h2>\n\n\n\n<p>PHP\uc5d0\uc11c\ub3c4 ODBC \ub4dc\ub77c\uc774\ubc84\ub97c \ud1b5\ud574 MDB \ud30c\uc77c\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>\uc708\ub3c4\uc6b0 \uc11c\ubc84 \ud658\uacbd\uc5d0\uc11c \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$conn = odbc_connect(\"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\\\data\\\\test.mdb;\", \"\", \"\");\n\n$sql = \"INSERT INTO members (name, email, reg_date) VALUES ('\ud64d\uae38\ub3d9', 'hong@test.com', NOW())\";\nodbc_exec($conn, $sql);\n\n\/\/ \ub9c8\uc9c0\ub9c9 \uc790\ub3d9\ubc88\ud638 \uac12 \ud655\uc778\n$rs = odbc_exec($conn, \"SELECT @@IDENTITY AS last_id\");\nodbc_fetch_row($rs);\n$last_id = odbc_result($rs, \"last_id\");\n\necho \"\uc0c8\ub85c\uc6b4 \ud68c\uc6d0 ID: \" . $last_id;\n\nodbc_close($conn);\n?&gt;\n<\/code><\/pre>\n\n\n\n<p>PHP\uc5d0\uc11c\ub3c4 \ub3d9\uc77c\ud558\uac8c <code>@@IDENTITY<\/code>\ub85c \ub9c8\uc9c0\ub9c9 \uc0dd\uc131\ub41c \uc790\ub3d9\ubc88\ud638 \uac12\uc744 \uc870\ud68c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 5. \uc218\ub3d9 \ubc88\ud638 \ub123\uae30 (\ube44\ucd94\ucc9c)<\/h2>\n\n\n\n<p>AutoNumber \ub300\uc2e0 \uc9c1\uc811 \ubc88\ud638\ub97c \uc9c0\uc815\ud574\uc57c \ud560 \uacbd\uc6b0, \ub2e4\uc74c\ucc98\ub7fc <code>MAX(id)+1<\/code>\uc744 \uc774\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO members (id, name, email)\nSELECT MAX(id)+1, '\ud64d\uae38\ub3d9', 'hong@test.com' FROM members;\n<\/code><\/pre>\n\n\n\n<p>\ud558\uc9c0\ub9cc \uc774 \ubc29\uc2dd\uc740 <strong>\ub3d9\uc2dc \uc0bd\uc785 \uc2dc \ucda9\ub3cc \uc704\ud5d8<\/strong>\uc774 \uc788\uc73c\uba70, Access\uc758 \uc790\ub3d9\uc99d\uac00 \uae30\ub2a5\uc774 \uc81c\uacf5\ud558\ub294 \uc548\uc815\uc131\uc744 \uc783\uac8c \ub429\ub2c8\ub2e4.<br>\ub530\ub77c\uc11c \uae30\ubcf8 \ud0a4\ub294 AutoNumber\ub85c \ub450\uace0, SQL\uc5d0\uc11c \uc0dd\ub7b5\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcbe MDB \ud30c\uc77c \uc790\ub3d9\ubc88\ud638 INSERT \ubc29\ubc95 (\ud30c\uc774\uc36c \/ PHP \uc608\uc81c) Access(MDB) \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub2e4 \ubcf4\uba74, \uc790\ub3d9\uc73c\ub85c \ubc88\ud638\uac00 \uc99d\uac00\ud558\ub294 AutoNumber(\uc790\ub3d9\ubc88\ud638)<\/p>\n","protected":false},"author":1,"featured_media":50,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,8,7],"tags":[],"class_list":["post-89","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it","category-php","category-python"],"_links":{"self":[{"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/posts\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/5047878.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=89"}],"version-history":[{"count":1,"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/posts\/89\/revisions"}],"predecessor-version":[{"id":90,"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/posts\/89\/revisions\/90"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/5047878.net\/index.php?rest_route=\/wp\/v2\/media\/50"}],"wp:attachment":[{"href":"https:\/\/5047878.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/5047878.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/5047878.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}