gpt4 book ai didi

MySQL 导出表的索引设置为 DEFAULT

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

堆垛机

我希望导出大型 mySql 表数据,但不保留索引并将其替换为 DEFAULT。这样,当我将其导入测试环境时,我不会覆盖该表的当前索引。

所以基本上每一行当前索引值都被 DEFAULT 替换,因此 INSERT 使用自动增量来获取新索引:

INSERT INTO `user_history` (`n`, `user_uid`, `history_id`, `type`, `meta_uid`, `modified`) VALUES
(DEFAULT, '3abc3eaf0b3e', 1, 'color', '1', '2015-07-29 08:01:52'),
(DEFAULT, '3abc3eaf0b3e', 1, 'size', '2', '2015-07-29 08:01:52');

这只是一个例子。我无法简单地手动编辑该文件,因为它很大。

1000万+1

谢谢

最佳答案

https://dev.mysql.com/doc/refman/5.1/en/select-into.html

SELECT NULL, `user_uid`, `history_id`, `type`, `meta_uid`, `modified`
FROM `user_history`
INTO OUTFILE '<file name here>.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

默认情况下,文件将输出到您的数据目录中,除非您在命名文件时明确指定 MySQL 路径。

通过命令行加载文件:

mysql -u <user> -p <database for new table> -e "LOAD DATA INFILE '<file name>.csv'
INSERT INTO TABLE `user_history`
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n';"

关于MySQL 导出表的索引设置为 DEFAULT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131387/

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