Почему CURTIME()) работает, но NOW() не работает, когда я использую инструкцию MYSQL INSERT?

#mysql #sql

#mysql #sql

Вопрос:

Пожалуйста, помогите мне здесь! Это мой столик:

 CREATE TABLE `revolut_accounts`

 `account_id` varchar(45) NOT NULL ,
 `name`       varchar(45) NOT NULL ,
 `createDate` timestamp NOT NULL ,
 `updateDate` timestamp NOT NULL DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (`account_id`)
);
 

Когда я пытаюсь вставить данные с помощью функции now(), я получаю сообщение об ошибке:

 INSERT INTO revolut_accounts (account_id, name, createDate) VALUES ('test', 'Main British Pounds', NOW());
 

Однако, когда я делаю то же самое с CURTIME()), это работает:

 INSERT INTO revolut_accounts (account_id, name, createDate) VALUES ('test', 'Main British Pounds', CURTIME());
 

Пожалуйста, скажите мне, Почему???

Комментарии:

1. Вы использовали общую структуру таблиц учетных записей, но пытались вставить данные в revolut_accounts. Пожалуйста, проверьте. Я попробовал оба ваших запроса для таблицы учетных записей, и они просто отлично работают.

2. Я бы согласился, более чем вероятно, что revolut_accounts->CreateDate — это ВРЕМЯ, а не ВРЕМЕННАЯ МЕТКА

3. @KaziMohammadAliNur Я хотел удалить термин «revolut» в этом посте, но, очевидно, забыл удалить его и в инструкции insert. Это не было ошибкой, когда я пробовал это на сервере. Я использую облачную базу данных Google SQL с установленным MySQL 8.0.

4. @Forbs нет, я использовал для этой таблицы временную метку.

5. Попробуйте изменить ВРЕМЕННУЮ МЕТКУ на DATETIME, временные метки обычно связаны с ON INSERT или ON UPDATE