gpt4 book ai didi

MySQL:将数据复制到使用 LIKE 创建的表时超出范围

转载 作者:行者123 更新时间:2023-11-29 02:59:29 24 4
gpt4 key购买 nike

我正在尝试创建一个脚本来分析 mysql.slow_log 表中的数据。出于这些目的,我需要将一些我感兴趣的行复制到另一个临时表中,所以我要这样做:

CREATE TABLE IF NOT EXISTS test.slow_log_to_analyze LIKE mysql.slow_log;
TRUNCATE TABLE test.slow_log_to_analyze;

INSERT INTO test.slow_log_to_analyze
SELECT * FROM mysql.slow_log WHERE start_time < (NOW() - INTERVAL 1 MINUTE);

不幸的是,最后一条命令抛出错误:

Error Code: 1264. Out of range value for column 'query_time' at row 1

slow_log 和另一个表的结构应该是相同的,所以这对我来说没有任何意义。有什么问题?

我正在使用 MySQL 5.5.39.0。

编辑: test.slow_log_to_analyze总是使用... LIKE mysql.slow_log 创建,所以没有理由让它有不同的结构。

最佳答案

关键字 IF NOT EXISTS 可防止在表存在时发生错误。但是,无法验证现有表的结构是否与 CREATE TABLE 语句所指示的结构相同。

执行以下操作似乎更简单:

DROP TABLE IF EXISTS test.slow_log_to_analyze;
CREATE TABLE test.slow_log_to_analyze SELECT * FROM mysql.slow_log;

关于MySQL:将数据复制到使用 LIKE 创建的表时超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25917514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com