|
Как вставить NULL в базу MySQL через переменнуюОбсуждение темы Как вставить NULL в базу MySQL через переменную в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Какое значение должна иметь переменная, что в таблицу вставилось значение NULL? Иначе приходиться пользоваться очень неудобной конструкцией: "INSERT into MyTable values ('$id', NULL)"; ... |
|
Опции темы |
28.11.2006, 10:57 | #1 |
|
Какое значение должна иметь переменная, что в таблицу вставилось значение NULL?
Иначе приходиться пользоваться очень неудобной конструкцией: "INSERT into MyTable values ('$id', NULL)"; а хотелось бы писать так: "INSERT into MyTable values ('$id', '$MyVar')". Пишу на PHP 5.2 и MySQL 5.0, подскажите кто знает. |
|
28.11.2006, 19:24 | #2 |
|
если для данной колоки по умолчанию стоит NULL то он будет устанавливаться автоматически если переменная не задана, честно говоря не могу представить ситуацию когда NULL именно нужно ВСТАВИТЬ.
|
|
29.11.2006, 12:46 | #3 |
|
Попробовал так сделать, но почему-то у меня выходит сообщение об ошибке.
Использовал конструкцию: <?php . . . if(isset($birthdaydate)) { print("set"); exit(); } $Query="INSERT into MyTable values('$id', '$birthdaydate')"; mysql_db_query($db, $Query, $Server) or die(mysql_error()); . . . ?> Сообщение об ошибке: Incorrect date value: '' for column 'Birthday' at row 1. В таблице MyTable имеется необязательное поле 'Birthday' с типом данных 'Date', с параметром по умолчанию 'NULL'. Может я сделал что-то не верно? |
|
29.11.2006, 13:55 | #4 |
|
Из хелпа к PHP:
The special NULL value represents that a variable has no value. NULL is the only possible value of type NULL. Note: The null type was introduced in PHP 4 A variable is considered to be NULL if it has been assigned the constant NULL. it has not been set to any value yet. it has been unset(). Syntax There is only one value of type NULL, and that is the case-insensitive keyword NULL. copy to clipboard $var = NULL; |
|
29.11.2006, 14:31 | #5 |
|
Тоже не работает, выдает ту же ошибку.
Код: <?php . . . $birthdaydate=NULL; $Query="INSERT into MyTable values('$id', '$birthdaydate')"; mysql_db_query($db, $Query, $Server) or die(mysql_error()); . . . ?> Сообщение об ошибке: Incorrect date value: '' for column 'Birthday' at row 1. Может еще кто-нибудь подскажет, как правильно выполнить этот запрос? |
|
30.11.2006, 14:25 | #6 |
|
Просто напишите слово NULL в запросе:
$Query="INSERT into MyTable values('$id', NULL)"; Ну или как вариант: $birthdaydate='NULL'; $Query="INSERT into MyTable values('$id', $birthdaydate)"; |
|
30.11.2006, 14:59 | #7 | |
|
Цитата:
Incorrect date value: 'NULL' for column 'BirthDay' at row 1. Само поле имеет тип Date, и туда никак нельзя пихнуть строковое значение (похоже PHP не распознает 'NULL'). |
|
|
01.12.2006, 08:31 | #8 |
|
А нафига в кавычки-то брать?
Вот так должно работать: $birthdaydate=NULL; $Query="INSERT into MyTable values('$id', $birthdaydate)"; |
|
01.12.2006, 08:34 | #9 |
|
Так оно работать не будет, потому что у PHP NULL — это пустота. И вставка NULL-переменной в строку будет пустотой.
А у SQL NULL — это ключевое слово. Вот посмотрите, Ваше NULL: Код:
<? $a=NULL; $b='a' . $a . 'a'; echo $b; ?> Ну а «Incorrect date value: 'NULL' for column 'BirthDay' at row 1.» говорит о том, что Вы не разрешили для этого поля задавать значение NULL. |
|
01.12.2006, 12:18 | #10 | |
|
Цитата:
$birthdaydate = "NULL"; $Query="INSERT into MyTable values('$id', $birthdaydate)"; //работает $birthdaydate = "2006-12-1"; $Query="INSERT into MyTable values('$id', $birthdaydate)"; //не работает - Incorrect date value. $birthdaydate = "2006-12-1"; $Query="INSERT into MyTable values('$id', '$birthdaydate')"; //работает, но приходится ставить кавычки, вообщем замкнутый круг получается Если убрать кавычки со всех переменных: $birthdaydate = "2006-12-1"; $Query="INSERT into MyTable values($id, $birthdaydate)"; //не работает - You have an error in your SQL syntax Как сделать правильный запрос не знаю. |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как базу данных импортировать в MySQL? | anton | ASP, Perl, PHP и MySQL | 3 | 03.08.2007 13:01 |
Как создать базу даных MySQL? | baho | ASP, Perl, PHP и MySQL | 2 | 26.01.2006 12:18 |
Как импортировать базу данных на MySQL сервер… | anton | ASP, Perl, PHP и MySQL | 1 | 10.11.2005 16:00 |
Как Переместите файл базу данных mysql | Katee11 | ASP, Perl, PHP и MySQL | 3 | 19.06.2003 21:14 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|