作者knives ()
看板Database
标题[SQL ] 执行Insert语法,出现 metadata lock
时间Thu May 30 11:47:48 2019
资料库名称: 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://webptt.com/cn.aspx?n=bbs/Database/M.1559188070.A.6CD.html