[SQL ] 執行Insert語法,出現 metadata lock

看板Database (資料庫)作者時間5年前 (2019/05/30 11:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
資料庫名稱: Mysql 資料庫版本:5.7.26 內容/問題描述: 我只有執行很簡單的一句insert 語法 為什麼卻很常出現 Waiting for table metadata lock 的問題 我show processlist,也沒看到任何DDL 的語法 要寫入的 table,schema 如下 CREATE TABLE `tinker` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL COMMENT '使用者流水號', `on_time` datetime DEFAULT NULL COMMENT '上班時間', `off_time` datetime DEFAULT NULL COMMENT '下班時間', PRIMARY KEY (`id`) USING BTREE, KEY `FX_punch_time_user_id` (`user_id`) USING BTREE, CONSTRAINT `FX_punch_time_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='打卡記錄'; 關聯的users schema如下: CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '登入帳號', `password` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '登入密碼', `enable` enum('Y','N','D') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '啟用狀態', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `users_name_unique` (`name`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='員工資料'; 然後就只是很簡單的執行這麼一句insert語法 INSERT INTO `tinker` ( `user_id`, `on_time`, `off_time`) VALUES ( 5, '2019-05-30 07:58:21', NULL); 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.168.93 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1559188070.A.6CD.html
文章代碼(AID): #1Sxr9cRD (Database)
文章代碼(AID): #1Sxr9cRD (Database)