|
|
|
| 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
так как же все таки будет корректней и правильно? | |
|
|
|
|
|
|
|
для: LexXL
(25.04.2008 в 10:29)
| | без разницы как я понимаю, но я сам всегда использую '' - пустую вставку | |
|
|
|
|
|
|
|
для: 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' | |
|
|
|
|
|
|
|
для: LexXL
(25.04.2008 в 10:29)
| | Если включен SQL-режим NO_AUTO_VALUE_ON_ZERO допускается использовать только NULL - поэтому для надёжности и переносимости лучше его всегда и использовать. | |
|
|
|