|
|
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96А вод поведенуе MySQL различается от версии и параметров компиляции(которорые нельзя кат просто, кка у MS менять). В PHP появление NULL и вовсе приводит к значительному увеличению кода, а то и к дырам в безопасности. Увы, сложно спорить, поведение MySQL от версии к версии (точнее от ветки к ветке) нередко меняется, ну система развивается, что поделать. По поводу простоты изменения поведения, в случае с MS вы вряд ли сможете изменить поведение сверх заранее предусмотренного разработчиками,) А вот насчёт PHP хотелось бы увидеть примеры в качестве аргументов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2006, 23:57:38 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
читаем: ansi_sql_92 1) Let X and Y be any two corresponding <row value constructor element>s. Let XV and YV be the values represented by X and Y, respectively. Case: a) If XV or YV is the null value, then "X <comp op> Y" is un- known. то есть NULL=NULL не является false. Так что вы недостаточно тщательно читали sql стандарт. По по поводу ('' IS NULL) стандарт не говорит ни чего. Это как? целый раздел 8.6 с названием <null predicate> А вод поведенуе MySQL различается от версии и параметров компиляции(которорые нельзя кат просто, кка у MS менять). Это вы вообще о чем говорите? Ну ка с этого момента поподробнее? От каких версий это зависит? какие параметры компиляции вы имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 00:44:02 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
"то есть NULL=NULL не является false" А кто это говорил "любая простая функция с NULL дает NULL в том чилсле NULL=NULL что в конечном условии равнозначо FALSE(хотя там свои тараканы, читайте "троичная логика")" то есть NULL=NULL, и NOT(NULL=NULL) равно NULL, что в конечном условии(предложение WHEN например) равнозначо FALSE, тоесть строка выкидывается. Под тараканами я имел ввиду NOT(NULL):NULL, NULL OR TRUE:TRUE, NULL OR FALSE:NULL и т.д. "По по поводу ('' IS NULL) стандарт не говорит ни чего." "Это как? целый раздел 8.6 с названием <null predicate>" Чесно ни читал и читать не собираюсь, каждыйк сервер кто влес кто по дрова и положили они на этот параграф, как впрочем и я. Трудно представить ситуацию когда пустая строка нужна и не асоциируется с NULL. Кому нужны мертвые стандарты. "Это вы вообще о чем говорите? Ну ка с этого момента поподробнее? От каких версий это зависит? какие параметры компиляции вы имеете в виду?" Зайди на mysql.com и почитай. "По поводу простоты изменения поведения, в случае с MS вы вряд ли сможете изменить поведение сверх заранее предусмотренного разработчиками,)" После подлючения: SET ANSI_NULLS ON И не какие права не нужны, естественно это влияет только на ваши запросы, а не на процедуры и другие сохраненные обьекты. Не о какой перекомпиляций кода естественно и речи быть не может. Читаем поле в глобальную переменную $a PHP, я сейчас и не припомню как вобще проверить поле на NULL в PHP, предположем mysql_is_null, a может стабтнаятная is_null канает. if (is_null($result['a'])) $a=$result['a']; else unset($a); Длиновато, найдуться ооптимизаторы которые сократят до $a=$result['a']; Чем это черевато при REGISTO_GLOBAL_ON localhost?a=45 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 02:35:16 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
Хренчитаем: ansi_sql_92 1) Let X and Y be any two corresponding <row value constructor element>s. Let XV and YV be the values represented by X and Y, respectively. Case: a) If XV or YV is the null value, then "X <comp op> Y" is un- known. то есть NULL=NULL не является false. Так что вы недостаточно тщательно читали sql стандарт. Здесь написано " NULL=NULL is uknown". Unknown на языке СУБД значит NULL (а не false, строго говоря). Код: plaintext 1. 2. 3. Но это только для <=>, а не для = Да и вообще, от темы уже, кажется, все ушли. Парню надо было заменять '' на NULL... Только вот вопрос - НАФИГА ? На мой взгляд, это опасное решение - зависит от нестандартных флагов, версий, параметров ini.... Стоит ли такая игра свеч? У кого есть версии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 03:52:57 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96Кому нужны мертвые стандарты.Любой нормальный программист тебе скажет, что нулл и пустая строка - не одно и то же, и, пожалуй, только у оракла на этот счёт своё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 14:33:45 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
maXmo u4x96Кому нужны мертвые стандарты.Любой нормальный программист тебе скажет, что нулл и пустая строка - не одно и то же, и, пожалуй, только у оракла на этот счёт своё мнение. Не путай БД с класическими языками C++, Java, ... Там NULL и пустая строка это абсолютно разная и необходимая вещ. А в базах это геморой, который решается либо NOT NULL DEFULT '' либо NULL с установкой минимальной длины строки, в Oracle прописано стандартное решение NULL IS ''. Не разу не видел чтобы использовались пустые стрки и NULL одновременно, если есть идее поделись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 21:17:24 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96пустые стрки и NULL одновременно, если есть идее поделись. элементарно - надо хрвнить: 1) значение 2) пустое значение 3) отсутствие значения -- Dmitry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 22:49:05 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96 "По по поводу ('' IS NULL) стандарт не говорит ни чего." "Это как? целый раздел 8.6 с названием <null predicate>" Чесно ни читал и читать не собираюсь, каждыйк сервер кто влес кто по дрова и положили они на этот параграф, как впрочем и я. Трудно представить ситуацию когда пустая строка нужна и не асоциируется с NULL. Кому нужны мертвые стандарты. От это финт ушами! Сначала заявить, что MySQL не следует стандарту, и потому отстой, потом сказать, что стандарт не читал, потому как положили все на стандарт, и кому такой стандарт нужен? Сильный ход! u4x96 "Это вы вообще о чем говорите? Ну ка с этого момента поподробнее? От каких версий это зависит? какие параметры компиляции вы имеете в виду?" Зайди на mysql.com и почитай. "По поводу простоты изменения поведения, в случае с MS вы вряд ли сможете изменить поведение сверх заранее предусмотренного разработчиками,)" После подлючения: SET ANSI_NULLS ON И не какие права не нужны, естественно это влияет только на ваши запросы, а не на процедуры и другие сохраненные обьекты. Не о какой перекомпиляций кода естественно и речи быть не может. Прочитал http://dev.mysql.com/doc/refman/5.0/en/ansi-mode.html . О какой перекомпиляции идёт речь? Если ставить это только для сессии (без GLOBAL) никаких особенных прав также не нужно. u4x96 Читаем поле в глобальную переменную $a PHP, я сейчас и не припомню как вобще проверить поле на NULL в PHP, предположем mysql_is_null, a может стабтнаятная is_null канает. if (is_null($result['a'])) $a=$result['a']; else unset($a); Длиновато, найдуться ооптимизаторы которые сократят до $a=$result['a']; Чем это черевато при REGISTO_GLOBAL_ON localhost?a=45 Ну, знаете ли, register_globals=on -- это одна сплошная дыра, сколько я PHP использую -- столько в документации и не рекомендуют использовать этот режим работы. С версии 4.2.0 он по умолчанию выключен, а этой версии без малого 4 года. Вот, например, скрипт: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:20:27 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
Dinky u4x96пустые стрки и NULL одновременно, если есть идее поделись. элементарно - надо хрвнить: 1) значение 2) пустое значение 3) отсутствие значения -- Dmitry +1 Вполне стандартная ситуация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:21:52 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
Dinky u4x96пустые стрки и NULL одновременно, если есть идее поделись. элементарно - надо хрвнить: 1) значение 2) пустое значение 3) отсутствие значения -- Dmitry Пожалуста пример на уровне проэктирования Вроде: КодКлиента 0-Клиент с кодом 0,NULL - его нету, товар продался в розницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:28:07 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96 Пожалуста пример на уровне проэктирования Вроде: КодКлиента 0-Клиент с кодом 0,NULL - его нету, товар продался в розницу Увы, товарами не торгуем, торгуем сервисом :) Пример - база подписчиков, у каждого есть десятка два необязательных атрибутов, одни из них заполнены, другие - пустые, третьи - не заполнены (NULL). Используются все три типа значений. NULL в одних случаях означает "ко мне не относится", в других "вот этого - не нада!" :) -- Dmitry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:39:16 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
To DocaAl Что ты с темы збился, если хоче Подискутировать о преимуществах MqSql. Зайди на rsdn.ru там специальный форум есть называеться "Компьютерные священные войны" в разделе "О жизни", я даже там тему для тебя соответствиющию сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:44:41 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
Dinky u4x96 Пожалуста пример на уровне проэктирования Вроде: КодКлиента 0-Клиент с кодом 0,NULL - его нету, товар продался в розницу Увы, товарами не торгуем, торгуем сервисом :) Пример - база подписчиков, у каждого есть десятка два необязательных атрибутов, одни из них заполнены, другие - пустые, третьи - не заполнены (NULL). Используются все три типа значений. NULL в одних случаях означает "ко мне не относится", в других "вот этого - не нада!" :) -- Dmitry А что означает пустые, и если можно не столь абстрактно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2006, 23:50:35 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96To DocaAl Что ты с темы збился, если хоче Подискутировать о преимуществах MqSql. Зайди на rsdn.ru там специальный форум есть называеться "Компьютерные священные войны" в разделе "О жизни", я даже там тему для тебя соответствиющию сделал. По существу, я так понимаю, сказать нечего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2006, 00:29:51 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
У меня нет ни малейшего желания спорить с фанатиками Open Source, или еще чегонибуть. Так что поздравляю ты победил, ГОРДИСЬ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2006, 00:45:55 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
Ваше сообщение "по теме": u4x96 В MySQL и PHP работа с NULL реализована через задние место, как и многое другое. Лудше NULL вобще не использоват, а использовать пустые строки и 0. Ничего из сказанного вы аргументами подтвердить не смогли. Причём тут какой-либо фанатизм? По крайней мере, в чём заключается _МОЙ_ фанатизм?,) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2006, 00:53:17 |
|
||
|
Вставить пустое поле как null
|
|||
|---|---|---|---|
|
#18+
u4x96У меня нет ни малейшего желания спорить с фанатиками Open Source, или еще чегонибуть. Так что поздравляю ты победил, ГОРДИСЬ. Я фанатик Здравого Смысла, поздравьте плиз и меня, жалко что-ли? :) -- Dmitry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2006, 01:17:47 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33472242&tid=1853204]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 358ms |

| 0 / 0 |
