Когда подтверждается электронная почта пользователя, значение временной метки MySQL обновляется, и его значение не должно равняться '1970-01-01 00:00:01' (по умолчанию). Я пытаюсь создать ограничение MySQL, которое обеспечивает это. Таким образом, если у пользователя есть следующее:
подтверждено = 1 < /em>
email_confirmed_time = '1970-01-01 00:00:01' < /em>
...Then ограничение нарушается. Но если подтверждено = 0 с той же меткой времени, то она принята.
Что не так в моей команде таблицы ниже? Он говорит мне, что существует нарушение на chk_emailconfirmedtime_when_confirmed , если я вставлю следующее:
insert into user (username, `password`, first_name, last_name, `role`, `group`, logged_in, confirmed, approved, email_confirmed_time) values
("0", "0", "joe", "dill", "{admin, user, guest}", "{create, read, update, delete}", 0, 0, 0, DEFAULT)
;
< /code>
CREATE TABLE IF NOT EXISTS user (
`id` SERIAL PRIMARY KEY,
`username` varchar(75) NOT NULL,
`password` varchar(100) NOT NULL,
`first_name` varchar(50) NOT NULL,
`last_name` varchar(50) NOT NULL,
`role` varchar(25) NOT NULL DEFAULT "{guest}",
`group` varchar(50) NOT NULL DEFAULT "{read}",
`logged_in` int NOT NULL DEFAULT 0,
`confirmed` INTEGER NOT NULL DEFAULT 0,
`approved` INTEGER NOT NULL DEFAULT 0,
`email_confirmed_time` TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:01',
CONSTRAINT CHK_confirmed CHECK (`confirmed`=0 OR `confirmed`=1),
CONSTRAINT CHK_approved CHECK (`approved`=0 OR `approved`=1),
CONSTRAINT CHK_emailConfirmedTime_when_notConfirmed CHECK (`confirmed`=0 AND `email_confirmed_time`=TIMESTAMP('1970-01-01 00:00:01')),
CONSTRAINT CHK_emailConfirmedTime_when_confirmed CHECK (`confirmed`=1 AND `email_confirmed_time`>TIMESTAMP('1970-01-01 00:00:01'))
);
Подробнее здесь: https://stackoverflow.com/questions/795 ... y-in-mysql
Как правильно установить ограничения в MySQL? ⇐ MySql
Форум по Mysql
-
Anonymous
1745241972
Anonymous
Когда подтверждается электронная почта пользователя, значение временной метки MySQL обновляется, и его значение не должно равняться '1970-01-01 00:00:01' (по умолчанию). Я пытаюсь создать ограничение MySQL, которое обеспечивает это. Таким образом, если у пользователя есть следующее:
подтверждено = 1 < /em>
email_confirmed_time = '1970-01-01 00:00:01' < /em>
...Then ограничение нарушается. Но если подтверждено = 0 с той же меткой времени, то она принята.
Что не так в моей команде таблицы ниже? Он говорит мне, что существует нарушение на chk_emailconfirmedtime_when_confirmed , если я вставлю следующее:
insert into user (username, `password`, first_name, last_name, `role`, `group`, logged_in, confirmed, approved, email_confirmed_time) values
("0", "0", "joe", "dill", "{admin, user, guest}", "{create, read, update, delete}", 0, 0, 0, DEFAULT)
;
< /code>
CREATE TABLE IF NOT EXISTS user (
`id` SERIAL PRIMARY KEY,
`username` varchar(75) NOT NULL,
`password` varchar(100) NOT NULL,
`first_name` varchar(50) NOT NULL,
`last_name` varchar(50) NOT NULL,
`role` varchar(25) NOT NULL DEFAULT "{guest}",
`group` varchar(50) NOT NULL DEFAULT "{read}",
`logged_in` int NOT NULL DEFAULT 0,
`confirmed` INTEGER NOT NULL DEFAULT 0,
`approved` INTEGER NOT NULL DEFAULT 0,
`email_confirmed_time` TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:01',
CONSTRAINT CHK_confirmed CHECK (`confirmed`=0 OR `confirmed`=1),
CONSTRAINT CHK_approved CHECK (`approved`=0 OR `approved`=1),
CONSTRAINT CHK_emailConfirmedTime_when_notConfirmed CHECK (`confirmed`=0 AND `email_confirmed_time`=TIMESTAMP('1970-01-01 00:00:01')),
CONSTRAINT CHK_emailConfirmedTime_when_confirmed CHECK (`confirmed`=1 AND `email_confirmed_time`>TIMESTAMP('1970-01-01 00:00:01'))
);
Подробнее здесь: [url]https://stackoverflow.com/questions/79582686/how-to-set-constraints-properly-in-mysql[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия