`bookmark_poll_id` int(9) UNSIGNED NOT NULL default '0',
...ну и неколько других примерных строк.
Для меня, как для новичка, NOT NULL говорит о том, что при вставке информации ни одно поле не останется без значений.
Я пишу закладки и нужно сделать такую структуру, чтобы заполнялось значение только одной строки, сейчас это выглядит примерно так:
ID пользователя | ID опроса | ID группы
Пользователь - владелец вкладок, он хочет например добавить себе в закладки не опрос а группу, тоесть ID опроса должно оставаться без значения или быть равно NULL ну или FALSE, не знаю как будет правильно.
Есть конечно вариант убрать NOT NULL из запроса, но я пока что побаиваюсь самоприкладства, потому что пошарив поисковике эту тему мне выдалась только инфа по SQL-инъекциям, а это не есть хорошо. Помогите советом и с постройкой запроса, если кого не затруднит.
Спустя 19 минут, 46 секунд (13.09.2010 - 01:03) xxxLOGIATxxx написал(а):
Вот полный запрос:
$sql = "
CREATE TABLE `bookmarks` (
`bookmark_id` int(9) UNSIGNED NOT NULL auto_increment,
`bookmark_owner_id` int(9) UNSIGNED NOT NULL default '0',
`bookmark_profile_id` int(9) UNSIGNED NOT NULL default '0',
`bookmark_group_id` int(9) UNSIGNED NOT NULL default '0',
`bookmark_poll_id` int(9) UNSIGNED NOT NULL default '0',
`bookmark_event_id` int(9) UNSIGNED NOT NULL default '0',
PRIMARY KEY (`bookmark_id`)
)
CHARACTER SET {$plugin_db_charset} COLLATE {$plugin_db_collation}
";
Спустя 8 минут, 54 секунды (13.09.2010 - 01:12) inpost написал(а):
default '0' - эта строчка говорит о том, какое значение будет в том случае, если добавить строку, но при этом не вносить данные в данную ячейку.
Под NOT NULL понимается то, что поле должно нести в себе какие-либо данные.
Под NOT NULL понимается то, что поле должно нести в себе какие-либо данные.
Спустя 4 минуты, 19 секунд (13.09.2010 - 01:16) xxxLOGIATxxx написал(а):
Цитата (inpost @ 12.09.2010 - 22:12) |
default '0' - эта строчка говорит о том, какое значение будет в том случае, если добавить строку, но при этом не вносить данные в данную ячейку. Под NOT NULL понимается то, что поле должно нести в себе какие-либо данные. |
Тоесть, если использовать INSERT не во всех строках, то они по дефолту принимают значение 0? Спасибо, благодарствую!
Спустя 11 минут, 48 секунд (13.09.2010 - 01:28) inpost написал(а):
Делаешь коротко:
В итоге мы получим: первой ID автоматически заполнется из-за auto_increment, и 2 других поля получат те значения! Остальные поля будут содержать значения "0", так как default="0".
mysql_query("INSERT INTO
`bookmark_owner_id` = 'Magistr Yoda',
`bookmark_profile_id`= '17'
");
В итоге мы получим: первой ID автоматически заполнется из-за auto_increment, и 2 других поля получат те значения! Остальные поля будут содержать значения "0", так как default="0".
Спустя 3 часа, 11 минут, 4 секунды (13.09.2010 - 04:39) xxxLOGIATxxx написал(а):
Цитата (inpost @ 12.09.2010 - 22:28) |
Делаешь коротко:mysql_query("INSERT INTO В итоге мы получим: первой ID автоматически заполнется из-за auto_increment, и 2 других поля получат те значения! Остальные поля будут содержать значения "0", так как default="0". |
Спасибо ещё раз, я себе это так и представлял, просто инфа об инъкциях не очень понравилась, боюсь как бы другие поля не остались дырявыми