在关于表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
答案 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查询
更新
abc
。hhghgh
设置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';`