首页 > 数据库 > mysql教程 > 为什么我的 MySQL INSERT 查询因 WHERE 子句而失败?

为什么我的 MySQL INSERT 查询因 WHERE 子句而失败?

Barbara Streisand
发布: 2025-01-19 06:26:13
原创
604 人浏览过

Why Does My MySQL INSERT Query Fail with a WHERE Clause?

MySQL INSERT 查询与 WHERE 子句冲突

尝试使用类似以下的查询向 MySQL 数据库插入数据时:

<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
登录后复制

如果存在 WHERE 子句,则可能会收到错误信息。这是因为 MySQL 的 INSERT 语法不支持 WHERE 子句。

新增行

如果目的是使用指定的 ID 创建新行,正确的查询应如下所示:

<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
登录后复制

更新现有行

要修改现有行中的值,应使用 UPDATE 语句:

<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>
登录后复制

INSERT ... ON DUPLICATE KEY

或者,您可以使用 INSERT ... ON DUPLICATE KEY 语法根据唯一键或主键插入或更新行:

<code class="language-sql">INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145</code>
登录后复制

使用自动递增列

如果表中的 id 列设置为自动递增,则可以从 INSERT 查询中省略它,并让 MySQL 处理递增:

<code class="language-sql">INSERT INTO Users SET weight=160, desiredWeight=145</code>
登录后复制

以上是为什么我的 MySQL INSERT 查询因 WHERE 子句而失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板