Ошибка Недопустимое значение по умолчанию для «updated_at» phpmyAdmin - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть вопрос, касающийся phpMyAdmin, я пытаюсь создать следующую таблицу, но у меня продолжает появляться эта ошибка, кто-нибудь знает, откуда это происходит?

Таблица, которую я хочу создать:

CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp default now(),
updated_at timestamp
);

Ошибка:

SQL query:


CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp default now(),
updated_at timestamp
)
MySQL said: Documentation

#1067 - Invalid default value for 'updated_at'

Заранее спасибо.

1 Ответ

0 голосов
/ 24 февраля 2019

Вместо NOW () вы должны использовать CURRENT_TIMESTAMP

CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp DEFAULT CURRENT_TIMESTAMP,
updated_at timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

Кроме того, вы должны установить значения по умолчанию для ограничений NOT NULL, поэтому ваш скрипт окончательного создания должен выглядеть примерно так:

CREATE TABLE products (
    pid INT(11) PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) DEFAULT '' NOT NULL,
    price DECIMAL(10 , 2 ) DEFAULT 0 NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...