Новый комментарий

SBTesla 18.10.2018 в 09:24

При добавлении записи

INSERT INTO `articles` (`id`, `author_id`, `name`, `text`, `created_at`) VALUES (NULL, '1', 'Статья о том, как я погулял', 'Шёл я значит по тротуару, как вдруг...', CURRENT_TIMESTAMP);
INSERT INTO `articles` (`id`, `author_id`, `name`, `text`, `created_at`) VALUES (NULL, '1', 'Пост о жизни', 'Сидел я тут на кухне с друганом и тут он задал такой вопрос...', CURRENT_TIMESTAMP);

Выдает ошибку что поле id не может содержать величину NULL. вбил ручками 1,2 все заработало,
Возможно это зависит от версии базы? А если допустим у меня 200+ статей можно как то указать что бы он добавлял автоматом номера?

ivashkevich 19.10.2018 в 00:26

Значит вы не выставили Auto Increment.

Reechniy 15.08.2019 в 16:11

у меня при создании таблицы вылетает такая ошибка: "#1067 - Некорректное значение по умолчанию для 'created_at'"

при этом при удалении DEFAULT CURRENT_TIMESTAMP, все прекрасно работает и дата проставляется корректно. Понять не могу, в чем подвох. Сижу через open server, в настройках MySQL/MariaDB установлен MySQL-5.5-x64

ivashkevich 16.08.2019 в 20:28

Это старый MySQL. Выбери 5.7

sirserik 20.11.2019 в 09:41

Уважаемый автор доброго времени суток, я хотел бы увидеть пример кода для работы с датой и временем, я имею ввиду как сравнивать 2 даты и сохранять новую дату к примеру. Сайт по подписке на платный контент, который обновляется (продлевается) ежемесячно или еженедельно итд. Именно как правильно работать с датой как их сравнить и как сохранять в бд. Заранее спасибо.

ivashkevich 21.11.2019 в 13:10

Привет. Почитай в официальной документации про DateTime

gritskevich-alexey 26.02.2020 в 11:05

"created_at с типом DATETIME – тут будет храниться дата и время создания" - поправь в месте где говориться о создании таблицы для пользователей.

ivashkevich 26.02.2020 в 20:18

Спасибо, исправил

studentDev 01.05.2020 в 14:12

У меня вопрос на счёт запроса, почему при создании таблицы мы сразу не указываем AUTO_INCREMENT и PRIMARY KEY, а добавляем их через ALTER?

CREATE TABLE `articles` (
  `id` int(11) NOT NULL,
  `author_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `text` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `articles`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `articles`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
ivashkevich 01.05.2020 в 15:27

phpmyadmin так сгенерил, не вручную запрос составлял

studentDev 02.05.2020 в 07:18

Теперь понял.

OneMoreTime 03.05.2020 в 21:09

Как в большинстве случаев в реальных проектах происходит взаимодействие с БД? Через PHPMyAdmin(через SQL запросы в PHPMyAdmin или там же, но через кнопочки готового графического интерфейса создания таблиц, полей и разных связей), через консоль? Помнить наизусть синтаксис запросов и их перечень, поначалу - достаточно сложно.
Вопрос преимущественно о первоначальном создании БД. В дальнейшем - то через PHP. Или инициализация БД с нуля через PHP - тоже часто используемая практика?

ivashkevich 06.05.2020 в 13:00

А как придется) Для изменения структуры таблицы применяются специальные инструменты для миграций, например https://www.doctrine-project.org/projects/migrations.html

[email protected] 08.05.2020 в 13:25

При создании таблицы можно выбрать DATETIME, а можно TIMESTAMP, оба можно определить по умолчанию, как CURRENT_TIMESTAMP. И на вид одинаковые в PhpMyAdmin. В чем отличия?

OneMoreTime 09.08.2020 в 19:42

В проекте используются только первичные ключи и юники. В каких случаях жизненно необходимо использовать внешние ключи?

ivashkevich 11.08.2020 в 13:24

Жизненной необходимости в них нет, но это своего рода подстраховка, чтобы если в одном месте данные исчезли, на них не было связей в других местах.

Логические задачи с собеседований