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

作者: knives   2019-05-30 11:47:48
資料庫名稱: 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);
謝謝回答

Links booklink

Contact Us: admin [ a t ] ucptt.com