在 MySQL 運用 Subquery 來 insert 資料
子查詢好像算是從 MySQL 5.x 版之後才開始有限度的支援,不過因為語法與主流不同所以還是要看官方文件來搞清楚。
因為幫人修改 ECShop 後台功能,要利用剛新增資料的自動編號欄位(action_id)所產生的值來作為之後進行新增資料的關聯欄位(parent_id)的值。
用程式處理當然相信大家都沒有問題的,但是可不可以用 MySQL 的子查詢功能來處理呢?
很簡單,具體的 SQL 語法如下:
1 2 3 4 5 6 7 | INSERT INTO `ecs_admin_action`(parent_id,action_code)VALUES('0', 'currency'); INSERT INTO `ecs_admin_action`(parent_id,action_code) SELECT action_id, 'currency_action1' FROM ecs_admin_action WHERE action_code = 'currency'; INSERT INTO `ecs_admin_action`(parent_id,action_code) SELECT action_id, 'currency_action2' FROM ecs_admin_action WHERE action_code = 'currency'; |