我使用以下命令从本地主机导出.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命令时遇到了问题。谁能帮我创建一个
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服务器的版本相同。
命令用
我尝试了下面的查询,但是我发出了一个错误。
mysql> mysqldump test |mysql test1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqldump test |mysql test1' at line 1
mysql> mysqldump test |mysql test1
我从phpmyadmin导出了一个数据库,sql格式如下
CREATE TABLE 'table_1'(
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' TEXT NOT NULL
);
ALTER TABLE
'table_1' ADD PRIMARY KEY 'table_1_id_primary'('id');
CREATE TABLE 'table_2'(
'id' INT U
我必须要MySQl数据库,第一个是在线托管的名为onlinedb,第二个是在本地机器(Localhost)上,名为localdb,现在我想根据用户请求频繁地将联机数据库的数据插入到本地主机的数据库表中,并且在我的应用程序中使用VB6。那么,我如何使用查询来完成它呢?
我的目标数据库和源数据库位于不同的位置,目标数据库位于本地主机上,源数据库位于服务器上。
我尝试过这个查询,但它不起作用。
查询:
"INSERT INTO localdb.mytable SELECT * FROM onlinedb.mytable WHERE mytable.Id=0"
提前谢谢你。
我想要根据某些条件从我的表中转储数据,下面是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