#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