我的表是否可以接受PostgreSQL?

时间:2015-04-04 18:45:48

标签: postgresql

我想在PostgreSQL数据库中创建一个表来存储用户数据(帐户信息,联系信息,地理信息)。我输入了以下SQL,我想知道它是否可以接受PostgreSQL(在最佳实践,数据类型和长度方面)?

CREATE TABLE users (
userID SERIAL,
username VARCHAR(255) NOT NULL,
password VARCHAR(60) NOT NULL,
email VARCHAR(255) NOT NULL,
active VARCHAR(255) NOT NULL,
lenderAcct BOOLEAN NOT NULL DEFAULT FALSE,
resetToken VARCHAR(255) DEFAULT NULL,
resetComplete VARCHAR(3) DEFAULT 'No',
CONSTRAINT users_pk PRIMARY KEY (userID),
firstName VARCHAR(20) NOT NULL,
middleName VARCHAR(20),
lastName VARCHAR(20) NOT NULL,
primaryPhone VARCHAR(50) NOT NULL,
primaryPhoneExt VARCHAR(10),
altPhone VARCHAR(50),
altPhoneExt VARCHAR(10),
fax VARCHAR(50),
legalAddress1 VARCHAR(25) NOT NULL,
legalAddress2 VARCHAR(25),
legalCity VARCHAR(25) NOT NULL,
legalState VARCHAR(25) NOT NULL,
legalZip VARCHAR(16) NOT NULL,
legalCountry VARCHAR(25) NOT NULL,
mailAddress1 VARCHAR(25) NOT NULL,
mailAddress2 VARCHAR(25),
mailCity VARCHAR(25) NOT NULL,
mailState VARCHAR(25) NOT NULL,
mailZip VARCHAR(16) NOT NULL,
mailCountry VARCHAR(25) NOT NULL
);

1 个答案:

答案 0 :(得分:0)

表中的PostgreSQL端看起来不错。您可以考虑将varchar(x)类型更改为text(请查看this answer)。 PRIMARY KEY可以作为userID SERIAL PRIMARY KEY, ...引入,但这对表结构没有影响。

如果不了解完整的表格结构,就无法对最佳做法进行更多评论,但这些考虑因素大多不是PostgreSQL特定的。