开发者社区> 问答> 正文

MySQL插入位置查询

此查询有什么问题:

INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1; 它不带WHERE子句就可以工作。我似乎忘记了我的SQL。

展开
收起
保持可爱mmm 2020-05-10 18:54:25 320 0
1 条回答
写回答
取消 提交回答
  • MySQL INSERT语法不支持WHERE子句,因此您的查询将失败。假设您的id列是唯一键或主键:

    如果您要插入ID为1的新行,则应使用:

    INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145); 如果您尝试更改ID为1的现有行的weight / desiredWeight值,则应使用:

    UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1; 如果需要,还可以使用INSERT .. ON DUPLICATE KEY语法,如下所示:

    INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145 甚至像这样:

    INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145 同样重要的是要注意,如果您的id列是一个自动增量列,那么您最好将其全部从INSERT中省略掉,并让mysql像往常一样对其进行增量。来源:stack overflow

    2020-05-10 18:54:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像