Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не получается создать два поля timestamp, с default NULL 
:(
    Опции темы
Irokez
Дата 9.2.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



версия mysql - 4.0.18-nt, ось - XP
делаю так:
Код

create table test(
a timestamp default NULL,
b timestamp default NULL);

получаю:
Код
mysql> desc test2;
+-------+---------------+------+-----+----------------+-------+
| Field | Type          | Null | Key | Default        | Extra |
+-------+---------------+------+-----+----------------+-------+
| a     | timestamp(14) | YES  |     | NULL           |       |
| b     | timestamp(14) | YES  |     | 00000000000000 |       |
+-------+---------------+------+-----+----------------+-------+
2 rows in set (0.01 sec)

пробовал в разных таблицах и базах, результат один и тот же - почему-то не получается создать два поля типа timestamp у которых значение по умолчанию будет NULL, первое поле будет иметь NULL, а второе - нули ... кто-нибудь с таким сталкивался? или я на работе переработал сегодня... smile
PM   Вверх
Kesh
Дата 9.2.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Irokez ты не переработал... дело в том, что mySQL версии 4.0.ХХ выставляет в таблице первому полю timestamp автоматическое значение не NULL а CURRENT_TIMESTAMP или NOW()... А всем остальным полям в таблице такого же типа значение по умолчанию - 00000000000000...
я побороть это также не смог...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 9.2.2005, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Kesh спасибо, буду знать
PM   Вверх
Kesh
Дата 9.2.2005, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Да не за что... сам долго парился... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 9.2.2005, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Вообще это логично не давать всем возможность NULL'а по дефолту. Ведь COUNT в таком случае (ну теоретически может такая ситуация получиться) никогда не вернет истинное кол-во строк в таблице..
PM ICQ   Вверх
Kesh
Дата 10.2.2005, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Mal Hack Почему?


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 10.2.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Kesh COUNT не считает строки с NULL.
PM ICQ   Вверх
GoodBoy
Дата 10.2.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Цитата(Mal @ 10.2.2005, 17:29)
COUNT не считает строки с NULL.

Подожди! откуда ты это взял????? И что ты позразумеваешь под "строки с NULL"?


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Kesh
Дата 10.2.2005, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



GoodBoy Вот и я как-то удивился...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 10.2.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(GoodBoy @ 10.2.2005, 17:54)
Подожди! откуда ты это взял?????

Спецификация.

Цитата(GoodBoy @ 10.2.2005, 17:54)
И что ты позразумеваешь под "строки с NULL"?

Те строки, которые имеют значение NULL, т.е. пусты, но в них нет пустого значения.
Вот пример:

Код

CREATE TABLE `456` (
 `ert` text
) TYPE=MyISAM;

INSERT INTO `456` VALUES (NULL);
INSERT INTO `456` VALUES (NULL);
INSERT INTO `456` VALUES (NULL);
INSERT INTO `456` VALUES (NULL);

Запрос:
Код

SELECT COUNT( `ert` )
FROM `456`

Результат - 0.
PM ICQ   Вверх
GoodBoy
Дата 10.2.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Прикольно!!!! Ни разу с таким не сталкивался.. :-)))))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Kesh
Дата 10.2.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Mal Hack Это ты по-моему глупость написал...
Код
INSERT INTO `456` VALUES (NULL);

Это не вставка... такой запрос ничего не добавляет к таблице... Поэтому и select выбирает у тебя 0 записей...
Добавлено @ 19:42
Если у тебя два поля... поле1 и поле2. поле1 - заполнено, а поле2 - null... то выборка
Код
SELECT COUNT(поле2) FROM таблица

все равно вернет количество записей...
Добавлено @ 19:47
Пардон... запрос
Код
INSERT INTO `456` VALUES (NULL);
добавит запись в таблицу, но и при select она ее выбирает... проверено на опыте...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 10.2.2005, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Kesh дополни мой пример стоблцом 54757 с дефолтным значением 0 тип INT. и снова выполни мой запрос. Результат по прежнему - 0.


Цитата(Kesh @ 10.2.2005, 19:40)
Это не вставка... такой запрос ничего не добавляет к таблице... Поэтому и select выбирает у тебя 0 записей...

Почему же не добавляет?
Поставь в мой пример ID праймари кей ауто инкренент... smile
PM ICQ   Вверх
Kesh
Дата 10.2.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Все равно выбирает... Да и мане по мускулу ничего не сказано про такие чудо, как пропуск строк со значением NULL...
Так что, пока не приведешь спецификацию, где ты это вычитал - считаю это бредом... smile

P.S. Только без обид... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 10.2.2005, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Kesh @ 10.2.2005, 20:08)
Все равно выбирает...

Стоп. Выбирать SELECT * FROM он будет.
Но при COUNT не будет учитываться та строка значение поля (которое каунтим) которой - NULL...

Цитата(Kesh @ 10.2.2005, 20:08)
Так что, пока не приведешь спецификацию, где ты это вычитал

препод сказал smile И щас у себя тестил smile
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.