【问题标题】:insert query to add value in database插入查询以在数据库中添加值
【发布时间】:2014-02-03 07:46:32
【问题描述】:

我的数据库表结构是

mysql> desc webhotel.`first`;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| one   | varchar(45) | NO   | PRI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.19 sec)

我想添加 ('Harshal') 作为一个字段值

mysql> select * from webhotel.`first`;
+-------------+
| one         |
+-------------+
| ('Harshal') |
+-------------+    
1 row in set (0.00 sec)

我想要这个输出

我的问题是我不知道如何将包含单引号的字符串插入数据库。我可以使用 IDE 来做,但我想要一个插入查询。

【问题讨论】:

    标签: mysql sql insert special-characters mysql-real-escape-string


    【解决方案1】:

    你在找这个吗?

    INSERT INTO first (one) VALUES ('(''Harshal'')');
                                      ^^       ^^
    

    结果:

    |一个 | |--------------| | ('Harshal') |

    这里是SQLFiddle演示

    【讨论】:

      【解决方案2】:

      如果值包含单引号,可以在MySQL中使用双引号来输入字符串:

      INSERT INTO first (one)
      VALUES ("('Harshal')");
      

      或者你可以转义引号:

      INSERT INTO first (one)
      VALUES ('(\'Harshal\')');
      

      【讨论】:

        【解决方案3】:

        根据您使用的服务器端软件,您应该查看“准备好的语句”。这是PHP 的链接,它提供了易于遵循的代码。虽然其他答案在技术上有效,但创建了准备好的陈述来专门解决这个问题,并有助于缓解其他答案会给您带来的一些问题。

        【讨论】:

          【解决方案4】:

          以下是您可以使用插入查询的两种方式。

          INSERT into tablename values ('colValue1', 'colValue2')
          
          INSERT into tablename (`colname1`, `colname2`) values ('colValue1', 'colValue2')
          

          访问http://www.w3schools.com/sql/sql_insert.asp获取更多sql教程

          【讨论】:

          • 这如何回答他关于插入包含特殊字符的值的问题?
          • 还有一个 -1 用于推荐 w3fools。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多