【发布时间】:2016-07-20 07:09:54
【问题描述】:
我是 Postgresql 的新手,我正在尝试创建这个表,实际上只是遵循一个类似的 mysql 表。但是我不断收到 ENUM() 的此错误 下面是创建表结构的查询:
CREATE TABLE IF NOT EXISTS gkb_users (
id bigint NOT NULL,
userid character varying(50) NOT NULL DEFAULT '',
password character varying(50) NOT NULL DEFAULT '',
firstname text NOT NULL,
middlename text NOT NULL,
lastname text NOT NULL,
email character varying(100) NOT NULL DEFAULT '',
gender enum('Male','Female') NOT NULL,
dob date NOT NULL,
mobile character varying(10) NOT NULL DEFAULT '',
telephone character varying(15) NOT NULL DEFAULT '',
city character varying(50) NOT NULL DEFAULT '',
address text NOT NULL,
shippingaddress text NOT NULL,
PIN character varying(255) NOT NULL,
shipping_PIN character varying(255) NOT NULL,
area character varying(255) NOT NULL,
shipping_area character varying(255) NOT NULL,
previouscart text NOT NULL,
updatedon timestamp(0) NOT NULL,
is_deleted enum('0','1') NOT NULL
);
任何帮助将不胜感激。谢谢
【问题讨论】:
-
最好使用正确的检查约束,而不是枚举(您应该阅读有关如何实际使用枚举的手册,in the manual 您在哪里找到该语法?)
-
如何在 phppgadmin 中设置?没有检查数据类型
-
检查约束不是“数据类型”。这是一个约束。您在
CREATE TABLE语句中或使用 ALTER TABLE 语句中的 add it 就像任何其他约束一样。您应该真正学习 Postgres 的 SQL statements,而不是依赖一些 GUI 界面来构建您的数据模型。 -
类似 CREATE TYPE 的东西?
-
所以在这种情况下,比如说
is_deleted会是is_deleted numeric CONSTRAINT deleted CHECK (0 || 1)?
标签: postgresql