[SQL ] 執行Insert語法,出現 metadata lock
資料庫名稱: 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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章