所以我有个问题。
我想在SQL中更改certian列的值,现在我知道如何执行此操作,但在执行此操作之前,我会将这些值导出到CSV中,然后再将这些值重新导入到SQL中,这样就不会发生任何更改。我怎么能这么做呢?
有问题的表大约有5000行,所以除非我可以向后更改1列,否则我将不得不转储该表,更改值,然后在完成后销毁该表并将转储重新导入。有没有更简单的方法?
发布于 2017-11-07 18:54:36
这是我的解决方案。请使用带有命令行工具的mysql后端(例如: Windows use CMD)。我的简单示例如下所示:-我创建了一个名为Test的表,并在其中填充了几行:
create table test
( col1 varchar(10), col2 varchar(20), col3 varchar(30)
);
Insert into test values
('nice', 'good', 'well'),
('best', 'bad', 'great'),
('cute','love','alone');SELECT *> FROM test > INTO OUTFILE 'C://ProgramData//MySQL//MySQL Server5.7//Uploads//test.csv‘>字段以'#’>行‘\n’终止;
请,为了找到正确的目录-您应该替换我的C://...with your -在允许保存输出的位置使用以下命令(适用于任何操作系统):
SHOW VARIABLES LIKE "secure_file_priv";
将数据LOCAL INFILE 'C://ProgramData//MySQL//MySQL Server5.7//Uploads//test.csv‘加载到以'#’行结尾,以‘\n’结尾的表测试字段;
希望能有所帮助。
https://stackoverflow.com/questions/47152717
复制相似问题