无法将mysql数据从一个数据库传输到另一个数据库

时间:2016-03-18 20:54:04

标签: mysql database phpmyadmin

我正在尝试重新编写osCommerce的旧实现,并将旧数据库中的数据重新引入到新数据库中。我使用phpMyAdmin从旧表中导出数据。当我尝试将它们导入新数据库时,我遇到了一系列错误。为了清楚起见,我在这里将问题简化为单个INSERT语句。

陈述是:

INSERT INTO `address_book` (`address_book_id`, 
                            `customers_id`, 
                            `entry_gender`,
                            `entry_company`, 
                            `entry_firstname`, 
                            `entry_lastname`, 
                            `entry_street_address`, 
                            `entry_suburb`, 
                            `entry_postcode`, 
                            `entry_city`, 
                            `entry_state`, 
                            `entry_country_id`, 
                            `entry_zone_id`) 
  VALUES (1, 1, 'm', '', 'Mary', 'Smith', 
          '1234 Pleasant Court', '', '67890',
          'Hometown', 'state', 123, 0);

当我尝试通过phpMyAdmin从文件导入它时出现错误:“#1064 - 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 '' at line 1.”

如果我单击“编辑”按钮并重新提交查询,则会收到另一个错误:“#1062 - Duplicate entry '1' for key 'PRIMARY'.” address_book_id字段是此表中的主键,是一个自动增量字段。

仍然在编辑屏幕中,如果我将address_book_id值更改为NULL并重新提交,则接受查询。

认为我已解决问题,我将导入文件中的address_book_id值更改为NULL并再次尝试导入。再次,我得到#1064错误。我立即点击编辑。我没有对声明进行任何修改,但是没有修改就提交了。这一次,声明被接受了。

处理下载数据中的address_book_id值似乎存在问题。我从旧数据库的众多表中获得了数百个索引值。显然,我不想更改索引值并一次提交一个。

我正在使用phpMyAdmin 3.5.1。知道发生了什么事吗?

2 个答案:

答案 0 :(得分:0)

没有$(function () { function adjeustCoords() { var image=$('img'); //change that to your image selector var originalWidth=image[0].naturalWidth; var currentWidth=image.width(); var ratio=currentWidth/originalWidth; $("map area").each(function(){ //change that to your area selector var coords=$(this).attr('data-original-coords').split(','); coords = coords.map(function (x) { return Math.round(x*ratio); //i don't know if all browsers can accept floating point so i round the result }); $(this).attr('coords',coords.join()); }); } adjeustCoords(); $(window).resize(function(){ adjeustCoords(); }); }); 的情况下执行此操作。显然,一个是主键,你不能简单地从另一个表复制。应自动分配新ID。

答案 1 :(得分:0)

在玩了一段时间之后,我认为最好的方法是删除然后重新创建表格。我在两个表上尝试了这个,然后能够上传我的数据,包括id字段,而不会抛出任何错误。表似乎工作正常。