Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL导入转储数据库会产生不同的值_Mysql_Import_Export_Double - Fatal编程技术网

MySQL导入转储数据库会产生不同的值

MySQL导入转储数据库会产生不同的值,mysql,import,export,double,Mysql,Import,Export,Double,我有以下任务: -将数据库(名为live)转储为DBBackup\u TIMESTAMP.sql -将创建的转储导入另一个数据库(名为test) -将数据库测试再次转储为diff.sql 这很有魅力。最后一步是区分两个转储(DBBackup_TIMESTAMP.sql和diff.sql),以验证转储的DBBackup_TIMESTAMP.sql文件并将其保存在备份空间中 问题: 这两个文件是不同的。 在live DB中,表中有一些行的双精度值为-0.000,而在测试数据库中,特定行的双精度值为0

我有以下任务: -将数据库(名为live)转储为DBBackup\u TIMESTAMP.sql -将创建的转储导入另一个数据库(名为test) -将数据库测试再次转储为diff.sql

这很有魅力。最后一步是区分两个转储(DBBackup_TIMESTAMP.sql和diff.sql),以验证转储的DBBackup_TIMESTAMP.sql文件并将其保存在备份空间中

问题: 这两个文件是不同的。 在live DB中,表中有一些行的双精度值为-0.000,而在测试数据库中,特定行的双精度值为0.000

问题: 有没有办法强制mysql将-0.000的值导入测试数据库?(是的,我知道0.000是正确的,而-0.000不是正确的,但要求db中有-0.000)

MySQL版本:MySQL版本14.14发行版5.5.55,适用于使用readline 6.2的debian linux gnu(i686)

转储命令:

mysqldump -u $MYSQL_USER --password=$MYSQL_PASS -h 127.0.0.1 --port=$PORT --skip-comments --databases my_db > $FILE_NAME
mysql -u $MYSQL_USER --password=$MYSQL_PASS -h 127.0.0.1 --port=$MYSQL_PORT_BACKUP < $DUMP_FILE
导入命令:

mysqldump -u $MYSQL_USER --password=$MYSQL_PASS -h 127.0.0.1 --port=$PORT --skip-comments --databases my_db > $FILE_NAME
mysql -u $MYSQL_USER --password=$MYSQL_PASS -h 127.0.0.1 --port=$MYSQL_PORT_BACKUP < $DUMP_FILE
mysql-u$mysql\u USER--password=$mysql\u PASS-h 127.0.0.1--port=$mysql\u port\u BACKUP<$DUMP\u FILE
有没有办法解决这个问题,或者可能是什么问题


如果有人能帮忙,或者至少知道问题出在哪里,那就太好了

你看到的是记录在案的行为

说:

上述问题的一个含义是,如果您试图通过在主机上使用mysqldump转储表内容并将转储文件重新加载到从机来创建复制从机,则两台主机之间包含浮点列的表可能不同

如果需要精确的数值,请使用


进一步阅读:(Goldberg,1991)

谢谢你,比尔,这个信息就是解决方案!