2015-10-19 4 views
1

У меня есть таблица под названием «Дата» (ну, собственно, ее «Datum», которая является голландской для «Date»), которую я хочу автоматически давать значение всякий раз, когда запись добавляется Но это, кажется, не работает, что я делаю это по-прежнему заливает 0000-00-00 00:00:00CURRENT_TIMESTAMP еще результаты 0000-00-00 00:00:00

Я попытался изменить таблицу с:...

ALTER TABLE article CHANGE Datum 
Datum TIMESTAMP NOT NULL DEFAULT NOW() 
ON UPDATE NOW() 

Это не сработало, так что я пробовал:

ALTER TABLE article CHANGE Datum 
Datum TIMESTAMP NOT NULL 
DEFAULT CURRENT_TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP 

Какой ди Не работайте. Вставьте запрос, который я использовал:

"INSERT INTO artikelen(Articleid, Title, Article, Date, Type, author) values ('', '$Title', '$Article', '', '$Type', '$author')") 

Да, он использует переменные PHP.

+0

ваш второй альтер запрос в порядке. как вы вставляете данные, делитесь одной строкой вставки. –

+0

@ ZafarMalik Я добавил запрос, который я использую для вставки данных. – BadAtPHP

+0

@BadAtPHP: - Его работа для меня ... http: //sqlfiddle.com/#! 9/574d7/1 –

ответ

1

Вам не нужно specif столбец даты, если вы установите его по умолчанию. Попробуйте, как этот (столбец Дата, который устанавливается по умолчанию CURRENT_TIMESTAMP удаляется):

"INSERT INTO artikelen(Articleid, Title, Article, Type, author) values ('', '$Title', '$Article', '$Type', '$author')") 

DEMO

+1

Спасибо! Это работает безупречно. – BadAtPHP

+0

@BadAtPHP: - Добро пожаловать! –

0

Непонятно, что вы делаете. Вы используете столбец «Datum» в своей таблице, а в PHP вы ссылаетесь на «Дата». Предполагая, что вы имеете в виду то же самое, определение ниже должно работать. Однако, если вы добавите пустое значение в свой оператор SQL для столбца даты (мой случай my_date), обновление не будет срабатывать. Поэтому убедитесь, что опустить столбец в инструкции INSERT/UPDATE.

Использование CURRENT_TIMESTAMP, как это:

CREATE TABLE `test` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `my_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
); 
Смежные вопросы