【问题标题】:Mysql wont insert into databaseMysql不会插入数据库
【发布时间】:2019-04-13 05:26:36
【问题描述】:

据我所知,我的 SQL 代码格式正确,它似乎只是拒绝插入数据库。 这是我的代码:

 INSERT INTO `writings`(`cover`, `pages`) VALUES(['test'], [10]);

我也试过了

INSERT INTO `writings`(cover, pages) VALUES(['test'], [10]);

&

INSERT INTO `writings`(cover, pages) VALUES('test', 10);

我遇到此错误“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 '['test'], [10])' 附近使用的正确语法第 1 行“

表名正确,列名也正确。 任何帮助都会很棒! :)

【问题讨论】:

  • MySQL 不在值周围使用[]。您的第三个查询应该可以正常工作...
  • 如果您收到第三个错误,然后将其包含在问题中,前两个不正确,所以忘记它们

标签: mysql sql sql-insert


【解决方案1】:

正如评论中已经指出的那样

MySQL 不在值周围使用 []

所以你应该试试这个方法

   INSERT INTO `writings`(`cover`, `pages`) VALUES('test', 10);

或者如果你想要封面和页面值作为数组符号的字符串

INSERT INTO `writings`(`cover`, `pages`) VALUES("['test']", "[10]");

【讨论】:

    【解决方案2】:

    如上所述,前两个查询不正确。
    第三个查询是绝对正确的,必须有效。如果没有,请尝试使用 INSERT ... SET 语法:

    INSERT INTO `writings` SET cover = 'test', pages = 10;
    

    【讨论】:

      【解决方案3】:
      INSERT INTO writings(cover, pages) VALUES('test', 10);
      

      这适用于在 mysql 中插入数据。查询中的基本语法问题,仅此而已。确保表名和字段名与数据库正确匹配,并且值与您在创建表时提到的数据类型相同。

      【讨论】:

        【解决方案4】:

        请尝试这样:

        Sql 查询:

        INSERT INTO writings (cover, pages) VALUES ('test', 10);
        

        【讨论】:

        • 这会出错,因为test 不是有效的标识符。你需要引用它,因为它是一个字符串。
        猜你喜欢
        • 2019-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-29
        • 2016-03-25
        • 2019-05-02
        • 1970-01-01
        相关资源
        最近更新 更多