· 7 years ago · Nov 16, 2018, 10:20 AM
1drop table if exists users;
2create table users (
3 id serial primary key,
4 email varchar(255) not null check(strpos(email, '@') > 0),
5 password varchar(255) not null check(password <> '')
6 --, unique (lower(email)) не будет работать
7);
8create unique index email_unique_idx on users (lower(email));
9insert into users (email, password) values ('test@mail.com', 'test123'), ('TEST@mail.com', 'qweasd');
10-- ERROR: duplicate key value violates unique constraint "email_unique_idx"
11-- DETAIL: Key (lower(email::text))=(test@mail.com) already exists.
12-- SQL state: 23505