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

Aurora MySQL 5.7.12执行ALTER TABLE添加主键报错求助

问题排查与解决

你的错误提示显示SQL语句被截断(仅解析到(d),大概率是执行环境的问题——比如客户端未正确处理多行SQL的分隔,或者语句在传递过程中被截断了。这里给你两个可行的解决办法:

办法1:建表时直接定义主键

这是最稳妥的方式,把主键约束直接写在字段定义里,避免后续ALTER操作的潜在问题:

CREATE TABLE discount
(
discount_id          varchar(50) not null PRIMARY KEY,
discount_name        varchar(255),
hr_status             varchar(50),
program_status        varchar(50),
created_by            varchar(50) not null,
created_timestamp     varchar(20) not null,
updated_by            varchar(50) not null,
updated_timestamp     varchar(20) not null
);

办法2:修正ALTER语句的执行方式

如果一定要用ALTER语句添加主键:

  • 单独执行这条ALTER语句,不要和CREATE TABLE语句放在一起执行(部分客户端对多语句执行的分隔处理存在bug)
  • 或者使用MySQL简化版语法(无需手动指定约束名,系统会自动生成):
ALTER TABLE discount ADD PRIMARY KEY (discount_id);

若你必须自定义约束名,确保语句完整无截断,这条语法本身符合MySQL 5.7规范:

ALTER TABLE discount ADD CONSTRAINT discountpkey PRIMARY KEY (discount_id);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:57:38