Chcę ustawić wartość, NULL
jeśli nic nie zostanie umieszczone w polu tekstowym w przesyłanym formularzu. Jak mogę to zrobić? Próbowałem wstawić, 'NULL'
ale to po prostu dodaje słowo NULL
do pola.
Nie jestem pewien, jaki kod powinienem w tym celu podać, po prostu piszę zapytanie UPDATE.
null
bez cudzysłowów ..Odpowiedzi:
Nie umieszczaj
NULL
cudzysłowów w oświadczeniu o aktualizacji. To powinno działać:UPDATE table SET field = NULL WHERE something = something
źródło
Prawdopodobnie cytujesz „NULL”. NULL to słowo zastrzeżone w MySQL, które można wstawiać / aktualizować bez cudzysłowów:
INSERT INTO user (name, something_optional) VALUES ("Joe", NULL); UPDATE user SET something_optional = NULL;
źródło
UPDATE MyTable SET MyField = NULL WHERE MyField = ''
źródło
Użyj
NULL
(bez cudzysłowów).UPDATE users SET password = NULL where ID = 4
źródło
if (($_POST['nullfield'] == 'NULL') || ($_POST['nullfield'] == '')) { $val = 'NULL'; } else { $val = "'" . mysql_real_escape_string($_POST['nullfield']) . "'"; } $sql = "INSERT INTO .... VALUES ($val)";
jeśli umieścisz
'NULL'
w zapytaniu, po prostu wstawiasz 4-znakowy ciąg. Bez cudzysłowówNULL
jest to rzeczywista wartość null.źródło
Należy wstawić
null
, a nie ciąg'NULL'
.źródło
Zakładając, że kolumna umożliwia ustawienie zerowe,
powinien załatwić sprawę
źródło
$mycolupdate
na strunę na późniejszym etapie.Odpowiedzi tutaj podane są dobre, ale nadal starałem się opublikować NULL, a nie zero w tabeli mysql.
Wreszcie zauważyłem, że problem dotyczy zapytania wstawiania, którego używałem
Na razie w porządku.
Moje zapytanie było złe.
mysql_query("INSERT INTO products(quantity,itemname) VALUES ('$quantity','$itemname')");
Poprawiłem zapytanie do przeczytania.
mysql_query("INSERT INTO products(quantity,itemname) VALUES ('".$quantity."','$itemname')");
Więc ilość $ jest poza głównym ciągiem. Moja tabela sql została teraz zaakceptowana do rejestrowania ilości zerowej zamiast 0
źródło
Problem, który miałeś jest najprawdopodobniej spowodowany tym, że mysql rozróżnia wartość null zapisaną dużymi literami i wartość null zapisaną małymi literami.
Więc jeśli użyjesz instrukcji aktualizacji z wartością null, to nie zadziała. Jeśli ustawisz ją na NULL, będzie działać dobrze.
Dzięki.
źródło