【问题标题】:Unable to import all values from google sheets to sql无法将所有值从谷歌表导入到 sql
【发布时间】:2021-01-05 01:07:47
【问题描述】:

我正在尝试将数据从 google 表格导入 mysql。我将谷歌表保存为 .csv。其中一列 square_feet 的条目很少,因此有很多空白单元格。我无法导入任何包含这些空白单元格的行。我得到的错误是。

INSERT INTO `airbnb` VALUES ('2265', 'Austin', 'TX', '78702', 'Austin', 'United States', 'House', 'Entire home/apt', '4', '', '$225.00', '$100.00')

#1366 - 不正确的整数值:第 1 行的列“square_feet”的“”

列 square_feet 在创建时被赋予数据类型 int 非空,未分配默认值。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    因为您指定 '' 作为值,所以即使指定了默认值也不会使用。

    您收到错误是因为启用了“STRICT_TRANS_TABLES”模式,这实质上是为了确保您认为您正在设置的值是您实际将要获得的值。

    如果您在会话中禁用它,则:

    set @@sql_mode=replace(@@sql_mode,'STRICT_TRANS_TABLES','');
    

    您的插入将成功,并将 square_feet 设置为 0。

    如果你需要影响不同的会话,你可以全局设置:

    set global sql_mode=replace(@@sql_mode,'STRICT_TRANS_TABLES','');
    

    (将持续到数据库服务器重新启动)或在 mysql 配置文件中更改它。

    【讨论】:

    • 我试过了,但没用。给出了同样的错误。我正在使用 phpmyadmin 中的导入功能。
    • 我猜这会开始一个新的会话。
    • 效果很好!谢谢!我现在得到的唯一错误是#1062 - 键“PRIMARY”的重复条目“0”。我检查了我从中导入的工作表,它在作为主键的 id 列中没有 0 值。知道为什么会出现错误吗?
    • 抱歉,发现问题了。电子表格底部有一个值为 0.03 的单元格。再次感谢您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多