PostgreSQL创建自增表约束失效及auto_increment语法报错咨询
错误原因分析
- 第一次建表不符合要求:
name和height字段未加NOT NULL约束,允许空值插入,同时表名误写为automatic,不符合要求的automagic命名。 - 第二次建表报错:
auto_increment是MySQL专属的自增语法,你当前使用的是PostgreSQL数据库(从报错信息的SQL状态和SERIAL关键字的使用场景可判断),不支持该语法。
正确建表语句
CREATE TABLE automagic ( id SERIAL PRIMARY KEY, name VARCHAR(32) NOT NULL, height FLOAT NOT NULL );
字段说明
id:使用PostgreSQL原生的SERIAL自增类型,自带非空约束,作为主键完全符合需求name:VARCHAR(32)最多支持存储32个字符,加NOT NULL限制为必填字段height:FLOAT浮点类型,加NOT NULL约束后,未传入该值的INSERT语句会直接触发报错
内容的提问来源于stack exchange,提问作者Adeline Hernández Rosario
相关产品推荐
相关产品推荐

