Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: auto_increment - пустая строка или NULL?
 
 автор: LexXL   (25.04.2008 в 10:29)   письмо автору
 
 

CREATE TABLE `test1` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;

как правильно
insert into `test1` values(null, 'name1'); или insert into `test1` values('', 'name1'); ?
раньше всегда пользовался '' для автоматической вставки значения в поле auto_increment
но не на всех хостингах работает (дома тоже когда поднял мускула)
зато везде работает null
так как же все таки будет корректней и правильно?

   
 
 автор: Ильдар   (25.04.2008 в 10:44)   письмо автору
 
   для: LexXL   (25.04.2008 в 10:29)
 

без разницы как я понимаю, но я сам всегда использую '' - пустую вставку

   
 
 автор: Axxil   (25.04.2008 в 10:50)   письмо автору
 
   для: LexXL   (25.04.2008 в 10:29)
 

можно воспользоваться альтернативным синтаксисом:

INSERT INTO `test1` SET name1='value'


В некоторых случаях пары ключ - значение гораздо удобнее. Например в отличной библиотеке DbSimple это можно реализовать так.
<?
  $array 
= array('name1'=>'value','name2'=>'value');
  
$DB->query('INSERT INTO test1 SET ?a',$array);
?>

тут плейсхолдер ?a автоматически заменяется на пары name1 = 'value1', name2 = 'value2'

   
 
 автор: cheops   (26.04.2008 в 22:47)   письмо автору
 
   для: LexXL   (25.04.2008 в 10:29)
 

Если включен SQL-режим NO_AUTO_VALUE_ON_ZERO допускается использовать только NULL - поэтому для надёжности и переносимости лучше его всегда и использовать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования