粘贴数据中的字段数与表中的列不匹配

时间:2015-05-17 15:18:06

标签: mysql laravel laravel-4 laravel-5 mysql-workbench

情况

我有一个包含8列的表,然后我还需要2个字段:

  • company_wieght
  • server_type_weight

所以我运行迁移来添加这些字段,现在我有10列。

enter image description here

我现在有0个数据。

我想要

将我的登台服务器中的所有数据复制/粘贴回本地。我不断收到错误:

enter image description here

我该如何解决这个问题?

有没有办法强制粘贴行,并将其他2行保留为NULL /空白?有了它,我可以稍后通过迁移向他们添加数据。

我现在有点卡住了。

2 个答案:

答案 0 :(得分:1)

一种方法:

  1. 确保您的新列在迁移中可以为空

    $table->integer('company_weight')->nullable(); // make sure you use nullable()
    $table->integer('server_type_weight')->nullable();
    
  2. 将表数据转储到登台服务器

    $ mysqldump -u<username> -p --no-create-info --compact --skip-comments \
    --complete-insert <database> <table> > /path/to/file.sql
    
  3. 将生成的file.sql下载到本地计算机

  4. 将数据导入本地数据库

    $ mysql -u<username> -p <database> < /path/to/file.sql
    

答案 1 :(得分:1)

似乎这里有几个方面。对于MySQL Workbench:复制/粘贴操作中的源和目标列数必须相同,不能解决它。但是,我不会复制复制/粘贴数据,除非它真的不多,不需要多次。相反,我将现有数据导出到csv文件,将其加载到电子表格中(例如在Open Office中)并添加2个虚拟列。再次将其导出到csv并在MySQL Workbench中导入。