You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL的DDL中KEY关键字的含义是什么?对应PostgreSQL如何实现?

问题解答

关于MySQL中KEY的含义

MySQL语法中,KEY是INDEX的同义词,你给出的示例里的KEY ID_SECOND (ID_SECOND) 本质是给ID_SECOND字段创建普通二级索引,不是外键:外键需要显式使用FOREIGN KEY关键字声明才会生成,和这里的KEY没有关系。

PostgreSQL 等效实现方式

PostgreSQL没有将KEY作为索引的别名语法,要实现同等效果,在建表完成后单独创建对应字段的普通索引即可:

-- 你现有的建表语句可以调整为更简洁的写法,避免手动管理序列
CREATE TABLE master (
  ID SERIAL NOT NULL,
  ID_SECOND integer DEFAULT NULL,
  CONSTRAINT master_pkey PRIMARY KEY (ID)
);

-- 等效MySQL的KEY ID_SECOND的索引语句
CREATE INDEX idx_master_id_second ON master (ID_SECOND);

补充说明

  • 你原有建表语句中主键约束名和表名重名(均为master),在PostgreSQL中会触发重名错误,因此建议修改主键约束名,常规命名规则为表名_pkey。
  • 如果需要和你原有写法兼容,继续使用自定义序列mst_master_id_seq,只需要额外执行上面的索引创建语句即可实现和MySQL DDL完全一致的效果。

内容的提问来源于stack exchange,提问作者Maxes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:45:02