代码之家  ›  专栏  ›  技术社区  ›  Logical Nonsense

将数据从一个表插入到另一个表-不工作-可能存在错误?

  •  0
  • Logical Nonsense  · 技术社区  · 7 年前

    我试图将数据从一个表插入到另一个表中,但我一直遇到一个奇怪的SQL错误。下面是我的查询以及错误。

    insert into hs.hs (`field1`,`field2`,`field3`)  select cid,sid,'1' from `tmp1`;
    

    现在是错误

    1416 - Cannot get geometry object from data you send to the GEOMETRY field.
    

    我不明白为什么会出现几何错误,根本就没有几何。

    顺便说一下,我的MySQL版本是:

    SELECT VERSION();  Result 5.7.16-log
    

    我很确定我做的每件事都是对的;谁能告诉我我做错了什么吗? 这可能是个bug吗?

    谢谢,我期待着你的帮助。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Sheena Singla    7 年前

    你可以试试这个-

    insert into hs (field1,field2,field3) select cid , sid, '1' from tmp1;
    

    如果这不起作用,请检查两个表中包含的列。如果“hs”表包含更多字段,则必须通过从其他表中提取来为其赋值,或者为其指定一些默认值。

        2
  •  0
  •   Ankit Jindal    4 年前
    insert into hs (field1,field2,field3) select cid , sid, '1' from tmp1;
    

    下面是上述查询不起作用的原因

    • 插入到选择中 要求源表和目标表中的数据类型匹配
    • 插入 语句应该包含所有列,或者应该为它们指定一些默认值