主键Primary Key
你可能会说
AI 说按 id 更新这条记录,这个 id 是哪里来的?
一张表里用来唯一区分每一行的字段users 表里若有两行邮箱相同,按 email 更新会匹配两行;按主键 id = 7 则能选中带有该唯一标识的目标行。写入前核对匹配数,更新后重读表格确认另一行没变。主键可以是一列或多列的组合,值唯一且不为空。
先知道
也常被叫作主键Primary KeyID
延伸阅读 · 权威出处
AI 说按 id 更新这条记录,这个 id 是哪里来的?
| id | name | city | |
|---|---|---|---|
| 7 | 小林 | lin@example.com | 杭州 |
| 8 | 林晓 | lin@example.com | 苏州 |
| 9 | 陈雨 | chen@example.com | 厦门 |
这张 users 表中两个账号碰巧有同一个邮箱。主键 id 各不相同,因此可以唯一选中目标行;邮箱不是本表主键。
定位一行,而不是一批:主键值能唯一定位行;实际更新还要检查 WHERE 条件、受影响行数和重新读取结果。重复字段作为条件可能匹配多行。
普通字段会重复:同名、同邮箱完全可能出现;主键的值不允许重复,也不允许为空。
表之间的关联靠它:订单表记录“属于哪个用户”时,存的就是用户表的主键,而不是姓名。
请按主键更新这条用户记录,不要按邮箱或姓名定位。更新前先告诉我匹配到几行;如果多于一行,停下来说明情况再继续。改完后重新查询这条记录确认改动。