powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql принимает вставку без обязательного поля - почему?
3 сообщений из 3, страница 1 из 1
mysql принимает вставку без обязательного поля - почему?
    #38365160
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE IF NOT EXISTS `users` (
  `iduser` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(255) NOT NULL,
  `login` varchar(45) NOT NULL,
  `password` varchar(40) NOT NULL,
  `information` varchar(255) DEFAULT NULL,
  `key` varbinary(32) NOT NULL,
  PRIMARY KEY (`iduser`),
  UNIQUE KEY `user_UNIQUE` (`user`),
  UNIQUE KEY `login_UNIQUE` (`login`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=27 ;

INSERT INTO `users` (`iduser`, `user`, `login`, `information`, `key`) VALUES (NULL, '2fвff', 'f2вff',  NULL, UNHEX(''))



несмотря на то, что у пасворда нету значения по умолчанию и стоит нот нул, база принимает такую вставку!!!

почему?

и вопрос в догонку, а как заставить базу не принимать вставку , если не задано поле, для которого нету значения по умолчанию???
...
Рейтинг: 0 / 0
mysql принимает вставку без обязательного поля - почему?
    #38365168
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex564657498765453несмотря на то, что у пасворда нету значения по умолчанию и стоит нот нул, база принимает такую вставку!!!

вот к гадалке неходи, туда вставляется НЕ НУЛЛ а ""
а происходит всё "в этом вашем пхп", примерно в таком виде
Код: php
1.
$query="insert into ... (..., password) values ...., '".КокаитоПеременная."'"


как, не врёт ХШ ? :)
...
Рейтинг: 0 / 0
mysql принимает вставку без обязательного поля - почему?
    #38365186
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dev.mysql.com/doc/refman/5.5/en/data-type-defaults.html For data entry into a NOT NULL column that has no explicit DEFAULT clause, if an INSERT or REPLACE statement includes no value for the column, or an UPDATE statement sets the column to NULL, MySQL handles the column according to the SQL mode in effect at the time:

If strict SQL mode is enabled, an error occurs for transactional tables and the statement is rolled back. For nontransactional tables, an error occurs, but if this happens for the second or subsequent row of a multiple-row statement, the preceding rows will have been inserted.

If strict mode is not enabled, MySQL sets the column to the implicit default value for the column data type.

...

For string types other than ENUM, the default value is the empty string.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql принимает вставку без обязательного поля - почему?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]