当关于表id时我们想要插入时如何在表中插入

时间:2015-04-15 19:22:19

标签: mysql database

在关于表id的时候想插入的时候如何在表中插入。这里我的id是主键

运行查询操作失败时出现以下错误:

  

将SQL脚本应用于数据库时出错。   执行:

INSERT INTO `abc`.`hhghgh` (`column1`, `column2`) 
VALUES ('df', 'ddfddf') where id =1;
     

错误1064:1064:您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   要在'附近使用的语法,其中id = 1'在第1行

SQL语句:

INSERT INTO `abc`.`hhghgh` (`column1`, `column2`) 
VALUES ('df', 'ddfddf') where id = 1

3 个答案:

答案 0 :(得分:2)

查看INSERT statement的MySQL手册。您会注意到没有WHERE子句。因为基本上它在INSERT的上下文中没有任何意义。

因此要么INSERT并指定id,它将如下所示:

INSERT INTO `abc`.`hhghgh` (`id`, `column1`, `column2`) 
VALUES (1, 'df', 'ddfddf');

或者你想要UPDATE id = 1的当前条目

UPDATE `abc`.`hhghgh` SET column1 = 'df', SET column2 = 'ddfddf'
WHERE id=1;

或者如果id是AUTO_INCREMENT,你只想插入一条新记录(我不认为这是你想要的,但为了完整性):

INSERT INTO `abc`.`hhghgh` (`column1`, `column2`) 
VALUES ('df', 'ddfddf')

答案 1 :(得分:1)

我认为你不能在INSERT中使用WHERE,你可以使用UPDATE查询

  

更新abchhghgh设置column1 =" df",column2 =" ddfddf"                     其中id = 1;

答案 2 :(得分:1)

您可以使用ON DUPLICATE KEY UPDATE逻辑作为插入语句的一部分,如下所示:

INSERT INTO `abc`.`hhghgh` (`id`, `column1`, `column2`) VALUES (1, 'df', 'ddfddf')
    ON DUPLICATE KEY UPDATE `column1`='df', `column2`='ddfddf';`