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

Форум MySQL

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

 

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

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

тема: Добавление только новых значений
 
 автор: Kien   (06.10.2007 в 18:37)   письмо автору
 
 

Добрый день, у меня такой вопрос:

В таблицу все записывается из массива, записи индексируются уникальным ключом по коду. И если запись с таком кодом уже существует, то остальной массив просто не записывается. Хотел спросить, а как можно сделать, чтобы записывались только те данные, которых нет в таблице. Те, что уже существуют - пропускались.

Вот запрос к базе на запись:



$sql0 = "INSERT INTO rec (`trans_date` 
,`trans_id` 
,`trans_status` 
) VALUES"; 

foreach($records as $row) 

    $r = array(); 
    foreach($row as $col) 
        $r[] = "'".mysql_escape_string($col)."'"; 
    $r = '('.implode(',', $r).')';

mysql_query($sql = $sql0.$r) or die("Error in $sql : ".mysql_error());  




trans_id = уникальный ключ

   
 
 автор: cheops   (07.10.2007 в 10:12)   письмо автору
 
   для: Kien   (06.10.2007 в 18:37)
 

Используйте ключевое слово IGNORE
$sql0 = "INSERT IGNORE INTO rec (`trans_date`  
,`trans_id`  
,`trans_status`  
) VALUES"; 

   
Rambler's Top100
вверх

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