почему не работают 2 почти одинаковых запроса?

korvin0

моська
почему не работают 2 почти одинаковых запроса?

Люди! mysql не хочет выполнять такой запрос:
insert into table values(null,3,'',4);
А вот такой выполняет:
insert into table values(null,3,'asd',4);
Как сделать, чтобы и 1-ый выполнялся? (null не предлагать).
mysql 4.0.17
 

Апельсин

Оранжевое создание
что значит не хочет выполнять? так и говорит: korvin0, а не буду я выполнять этот запрос.
 

korvin0

моська
ффу, вроде глюки ушли и все выполнилось, но возник у мя такой вопрос: можно ли делать insert ... values('2'); в поле типа int?
 

Cid

...двинутый новичок
korvin0
можно ли делать insert ... values('2'); в поле типа int?
Можно, но в MySQL. Вот, например в PostgreSQL такое не прокатит. Так что если твои запросы рассчитаны на возможное использование в других СУБД, то лучше приводить значения в соответствие с типом поля.
 

korvin0

моська
просто это удобно, когда сначала берешь $a откуда-нить, а потом надо insert ... value('$a'); Если без кавычек это делать, то ошибку выдаст.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Cid
Можно, но в MySQL. Вот, например в PostgreSQL такое не прокатит.
не вводи людей в заблуждение:
Код:
optimal=# select version();
                           version
-------------------------------------------------------------
 PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)

optimal=# create table test (foo integer);
CREATE TABLE
optimal=# insert into test values ('123');
INSERT 193239 1
другое дело, что шутки типа
Код:
optimal=# insert into test values ('');
ERROR:  invalid input syntax for integer: ""
optimal=#  insert into test values ('3 little pigs');
ERROR:  invalid input syntax for integer: "3 little pigs"
действительно не пройдут, в отличие от.
 

Demiurg

Guest
>insert(2,,4) к примеру пройдет? а insert(2,'',4)?
у тебя второе поле какого типа ?
 

Demiurg

Guest
тогда зачем ты вставляешь туда совершенно не целочисленные значения ?
 

korvin0

моська
Demiurg
затем, что:
1) на вопрос "ффу, вроде глюки ушли и все выполнилось, но возник у мя такой вопрос: можно ли делать insert ... values('2'); в поле типа int?" я получил ответ, что можно.
2) insert(2,,4) выдает ошибку, а insert(2,'',4) - нет.
 

Demiurg

Guest
а еще ошибка будет емли вместо insert писать инсерт тебя это не смущает ? не надо брать целочисленые константы в кавычки.
 

korvin0

моська
Demiurg
вот у мя есть форма, в которой необязательное для заполнения поле. В поле могут ввести число, а могут и не ввести.
пусть поле называется "a". в принимающем скрипте стоит insert(...data...,$a,...data...). Если число не ввели, то получится, как я и писал, что-то типа такого: insert(2,,4). И что? Ошибка сразу. Поэтому я и делаю insert(...data...,'$a',...data...) шоб не вываливалась ошибка.
 

Demiurg

Guest
korvin0
ты вообще читаешь, что тебе отвечают ?
Или ты свою мысль взял за постулат, а все, что невяжется с ней ты игнорируешь ?
Я тебе в первом же посте написал что надо делать. Причем коротко и даже с примером кода.
 

korvin0

моська
Demiurg
ну тупой я, что уж тут сделаешь. Вот только щас доперло. Спасибо за ваше терпение!
 
Сверху