我使用以下命令从本地主机导出.sql文件
$sql = "SELECT * INTO OUTFILE '$backup_file' FIELDS TERMINATED BY ',' LINES TERMINATED BY ';' FROM $table_name";
在那之后,我被上传这个.sql文件到远程服务器。现在,我需要将这个.sql文件导入到名称为$table_name的同一个远程Mysql表中。由于从远程服务器到远程mysql服务器的相对路径问题,我在使用LOAD DATA INFILE命令时遇到了问题。谁能帮我创建一个
我想要根据某些条件从我的表中转储数据,下面是sql查询:
"SELECT * FROM document WHERE date BETWEEN 20160101 AND 20160131"
我从中选择的表是MyISAM Merge。
我已经删除了与该查询匹配的行,并且我想将它们从备份中重新导入,但只导入这些行。
我试过像这样做转储:
mysql -uroot -proot mydb -e "SELECT * INTO OUTFILE '/tmp/doc.sql' from document WHERE date BETWEEN 20160101 AND
MySQL服务器版本:
mysqld Ver 5.7.26 for Linuxonx86_64 (MySQL Community )
MariaDB mysqldump CLI版本:
mysqldump Ver 10.17远端10.3.12-MariaDB,for Linux (x86_64)
我正在使用这个mysqldump版本从提到的mysqld版本中获取转储。数据大约为25 gb。
我在导入转储时出错,
第82行的错误3105 (HY000):不允许为表'table_name‘中生成的列'column_name’指定值。
源服务器和目标mysql服务器的版本相同。
命令用
我刚刚创建了一个空表document_test,它是document表的副本。然后,我向document_test添加了一个新的列主机,并从document复制了所有其他内容。语句如下:
INSERT INTO document_test (id,col1,col2,col3,col4) SELECT * from document;
document表包含大约550万行,我已经禁用了document_test中的键,将foreign_key_checks设置为0,将unique_checks设置为0。这个INSERT命令已经在Linux服务器上运行了两天,还没有完成。SHOW PROCESS
导出Data MySQL
在MySQL PHP管理数据库中,我有多个表。我想运行一个SQL脚本/查询,这样我就可以将所有的数据库表导出到不同的XML、CSV或文本文件中,结构与我在数据库中的结构完全相同。
在XMAPP中,我可以将每个表导出为不同的格式(xml、csv或文本),但由于我有许多表,因此自动导出多个文件的方式将是方便和省时的。
我必须要MySQl数据库,第一个是在线托管的名为onlinedb,第二个是在本地机器(Localhost)上,名为localdb,现在我想根据用户请求频繁地将联机数据库的数据插入到本地主机的数据库表中,并且在我的应用程序中使用VB6。那么,我如何使用查询来完成它呢?
我的目标数据库和源数据库位于不同的位置,目标数据库位于本地主机上,源数据库位于服务器上。
我尝试过这个查询,但它不起作用。
查询:
"INSERT INTO localdb.mytable SELECT * FROM onlinedb.mytable WHERE mytable.Id=0"
提前谢谢你。