Вот что я пытаюсь сделать:
CREATE TABLE IF NOT EXISTS hashes (
id int NOT NULL AUTO_INCREMENT,
text varchar(50) NOT NULL,
hash varchar(64) NOT NULL AS (SHA2(CONCAT(text), 256) STORED,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
И затем я хочу запустить вставку, подобную этой:
INSERT INTO `hashes` (`text`) VALUES ('testing');
Из проведенного мною исследованияid
должен генерироваться автоматически, поскольку auto_increment
включен, поэтому мне не нужно определять его в запросе вставки.
Из моего запроса CREATE TABLE
, hash
должен генерироваться автоматически на основепосле ввода данных в поле text
.Однако, когда я запускаю команду CREATE TABLE
, я получаю сообщение об ошибке с этой строкой:
hash varchar(64) NOT NULL AS (SHA2(CONCAT(text), 256) STORED
Я просто хочу, чтобы hash
автоматически генерировался аналогично тому, как CURRENT_TIMESTAMP
автоматически сгенерирует текущее время по умолчанию.
Что я делаю не так?