|
|
|
| У меня есть таблица:
SHOW create table `en_user` ;
CREATE TABLE `en_user` (
`num` int(6) NOT NULL AUTO_INCREMENT,
`id_login` int(6) DEFAULT '0',
`id_forum` smallint(3) DEFAULT '1',
`id_type` smallint(3) DEFAULT '1',
`site` varchar(20) DEFAULT '',
`first_post` int(6) NOT NULL DEFAULT '0',
`all_posts` blob NOT NULL,
`first_theme` int(6) NOT NULL DEFAULT '0',
`all_themes` blob NOT NULL,
`duplicate` enum('yes','no') DEFAULT 'no',
PRIMARY KEY (`num`),
UNIQUE KEY `access` (`id_login`,`id_forum`,`id_type`,`site`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 CHECKSUM=1
|
Я, естественно, иногда хотел бы её пополнять:
Request:
INSERT INTO shate196_forum100.en_user SET
all_posts='',
first_post=0,
id_login=189,
id_forum=11,
site = 'all_',
id_type=6
|
Но она не даётся:
Error:
Field 'all_themes' doesn't have a default value
|
Я её пробую приручить:
SQL-запрос:
ALTER TABLE `en_user` CHECKSUM =1,
CHANGE `all_themes` `all_themes` BLOB NOT NULL DEFAULT '',
CHANGE `all_posts` `all_posts` BLOB NOT NULL DEFAULT ''
|
Но она возражает:
Ответ MySQL:
#1101 - BLOB/TEXT column 'all_themes' can't have a default value
|
Вопрос:
Это нормальное поведение базы MySQL? | |
|
|
|
|
|
|
|
для: Eugene77
(19.05.2009 в 12:04)
| | да.
почему NOT NULL? | |
|
|
|
|
|
|
|
для: Trianon
(19.05.2009 в 12:26)
| | А если разрешить NULL, то такого не будет?
Хотя уже, наверно поздно... ведь дефолт NULL тоже не написать...
А на вопрос почему...
Я не был уверен как мне в скрипте с этим NULL обращаться.
Будет он приравниваться пустой строке или нет? | |
|
|
|
|
|
|
|
для: Eugene77
(20.05.2009 в 20:57)
| | >Я не был уверен как мне в скрипте с этим NULL обращаться.
>Будет он приравниваться пустой строке или нет?
Посмотрели бы сами:
<?php
$x = null;
var_dump( $x == '' );
var_dump( $x === '' );
|
для MySQL | |
|
|
|
|
|
|
|
для: Root
(20.05.2009 в 22:40)
| | Спасибо за совет!
Разобраться, конечно, можно.
Просто мне надо было писать скрипт уже, а не разбираться, и я сделал по принципу наименьшего сопротивления.За что и поплптился.
Так всегда, по крайней мере со мной, получается. ; ) | |
|
|
|
|
|
|
|
для: Eugene77
(20.05.2009 в 20:57)
| | >А если разрешить NULL, то такого не будет?
>Хотя уже, наверно поздно... ведь дефолт NULL тоже не написать...
ALTER TABLE `en_user` CHANGE `all_themes` BLOB NULL
|
Разрешается нулл и меняется на дефолтный нулл | |
|
|
|
|
|
|
|
для: tuder
(10.11.2009 в 19:50)
| | Спасибо!
Воспользуюсь | |
|
|
|