PHP/MySQL | Не догоняю смысла
DELETED
Автор
14 февраля 2017, в 15:40
Delete
--
-- Структура таблицы `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`regip` varchar(100) NOT NULL,
`lastip` varchar(100) NOT NULL,
`dater` varchar(100) NOT NULL,
`timer` varchar(100) NOT NULL,
`refer` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
Так вот происходит следующее - при добавлении записи в таблицу, если не указать в запросе insert ВСЕ ячейки для заполнения, то запись не добавляется. Данная проблема происходит при переключении на php 7.0, то есть почему-то смена версии php начинает требовать, чтобы были перечислены ВСЕ ячейки при запросе insert, ЛИБО чтобы в ячейках, которые не указаны в запросе insert, было введено значение по умолчанию.
Что за шняга? Должно ли так быть? .45.
________
посл. ред. 14.02.2017 в 15:41; всего 2 раз(а); by Вилы_Выкидные
DELETED
14 февраля 2017, в 15:49
Delete
Вилы_Выкидные, DEFAULT пользовался им?
`id` int(10) UNSIGNED NOT NULL DEFAULT '0'
`id` int(10) UNSIGNED NOT NULL DEFAULT '0'
DELETED
Автор
14 февраля 2017, в 16:03
Delete
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
на версиях ниже php 7.0 работает, я не пойму при чём тут смена версий и почему тогда работает если не 7
Вилы_Выкидные (14.02.2017 в 16:03)
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
на версиях ниже php 7.0 работает, я не пойму при чём тут смена версий и почему тогда работает если не 7
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
на версиях ниже php 7.0 работает, я не пойму при чём тут смена версий и почему тогда работает если не 7
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`regip` varchar(100) NOT NULL,
`lastip` varchar(100) NOT NULL,
`dater` varchar(100) NOT NULL,
`timer` varchar(100) NOT NULL,
`refer` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
NOT NULL говорит о том, что не можеть быть пустым
DELETED
Автор
14 февраля 2017, в 16:07
Delete
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
кстати если присвоить null, то тогда update не работает для этой ячейки млять я уже запутался
DELETED
Автор
14 февраля 2017, в 16:08
Delete
Avenax (14.02.2017 в 16:05)
Вилы_Выкидные (14.02.2017 в 16:03)
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
на версиях ниже php 7.0 работает, я не пойму при чём тут смена версий и почему тогда работает если не 7
почему? при чём тут php?
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`regip` varchar(100) NOT NULL,
`lastip` varchar(100) NOT NULL,
`dater` varchar(100) NOT NULL,
`timer` varchar(100) NOT NULL,
`refer` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
NOT NULL говорит о том, что не можеть быть пустым
Вилы_Выкидные (14.02.2017 в 16:03)
shadrvlad (14.02.2017 в 15:49)
Вилы_Выкидные, ну так как бы указано что NOT NULL, не может быть NULL
на версиях ниже php 7.0 работает, я не пойму при чём тут смена версий и почему тогда работает если не 7
почему? при чём тут php?
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`regip` varchar(100) NOT NULL,
`lastip` varchar(100) NOT NULL,
`dater` varchar(100) NOT NULL,
`timer` varchar(100) NOT NULL,
`refer` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
NOT NULL говорит о том, что не можеть быть пустым
на версиях php ниже 7 insert в такую таблицу работает даже если только в одну ячейку добавлять
________
посл. ред. 14.02.2017 в 16:09; всего 1 раз(а); by Вилы_Выкидные
Вилы_Выкидные (14.02.2017 в 15:40)
Так вот происходит следующее - при добавлении записи в таблицу, если не указать в запросе insert ВСЕ ячейки для заполнения, то запись не добавляется. Данная проблема происходит при переключении на php 7.0, то есть почему-то смена версии php начинает требовать, чтобы были перечислены ВСЕ ячейки при запросе insert, ЛИБО чтобы в ячейках, которые не указаны в запросе insert, было введено значение по умолчанию.
Что за шняга? Должно ли так быть? .45.
Так вот происходит следующее - при добавлении записи в таблицу, если не указать в запросе insert ВСЕ ячейки для заполнения, то запись не добавляется. Данная проблема происходит при переключении на php 7.0, то есть почему-то смена версии php начинает требовать, чтобы были перечислены ВСЕ ячейки при запросе insert, ЛИБО чтобы в ячейках, которые не указаны в запросе insert, было введено значение по умолчанию.
Что за шняга? Должно ли так быть? .45.
Вилы_Выкидные, DEFAULT пользовался им?
вот тебе пример:
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(100) NOT NULL DEFAULT '0',
`password` varchar(100) NOT NULL DEFAULT '0',
`regip` varchar(100) NOT NULL DEFAULT '0',
`lastip` varchar(100) NOT NULL DEFAULT '0',
`dater` varchar(100) NOT NULL DEFAULT '0',
`timer` varchar(100) NOT NULL DEFAULT '0',
`refer` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
DELETED
Автор
14 февраля 2017, в 16:18
Delete
ты не понял вопроса - почему на версии php ниже 7 insert работает в ячеку NOT NULL (которой нет в запросе) и присваивает ей значение 0, как мне и надо
но на php 7 отказывается вообще писать в неё, при чём тут версия php не пойму
________
посл. ред. 14.02.2017 в 16:25; всего 1 раз(а); by Вилы_Выкидные
DELETED
Автор
14 февраля 2017, в 16:21
Delete
получается что для php 7 нужно значение по умолчанию обязательно присваивать
иначе если просто null задать, то не работает update тогда я заметил