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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Типо вложенного цикла что ли)

Сообщения:  [1-10]   [11-17] 

 
 автор: Root   (05.01.2009 в 13:36)   письмо автору
 
   для: Trianon   (04.01.2009 в 11:50)
 

>Или может я (как ненастоящий сварщик) ошибаюсь с непрерывностью диапазоза instbl.id , и так писать нельзя?

Ох любите Вы загадки.. :-)
Странно, что в мануале толком об этом ничего не написано.
Но я тут потестил немножко и..
Нет, Вы не ошибаетесь, Insert блокирует таблицу, и соответственно и диапазон первичных ключей будет непрерывным.

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 13:01)   письмо автору
 
   для: Trianon   (04.01.2009 в 12:42)
 

Обязательно попробую )

  Ответить  
 
 автор: Trianon   (04.01.2009 в 12:42)   письмо автору
 
   для: ddhvvn   (04.01.2009 в 12:30)
 

ну и попробовали бы. Что помешало-то?

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 12:30)   письмо автору
 
   для: Trianon   (04.01.2009 в 11:50)
 

О_О а я ток было собрался пробовать код... )

  Ответить  
 
 автор: Trianon   (04.01.2009 в 11:50)   письмо автору
 
   для: Trianon   (04.01.2009 в 11:22)
 

Ау! Знатоки MySQL во всех его проявлениях!
Или может я (как ненастоящий сварщик) ошибаюсь с непрерывностью диапазоза instbl.id , и так писать нельзя?

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 11:43)   письмо автору
 
   для: Trianon   (04.01.2009 в 11:22)
 

офигеть... будем разбираться

СПАСИБО! )))

  Ответить  
 
 автор: Trianon   (04.01.2009 в 11:22)   письмо автору
 
   для: ddhvvn   (04.01.2009 в 10:41)
 

<?php

$data 
= array(=> 1=> 3=> 614 => 412 => 5=> 2);
$sql = array();
foreach(
$data as $key =>$val)
  
$sql[] = "('".mysql_escape_string($key)."','".mysql_escape_string($val)."')";
$sql "INSERT INTO instbl (`key`, `val`) VALUES " implode(',',$sql);
$res mysql_query($sql) or die("Error in $sql.mysql_error());
$num mysql_affected_rows();
$id mysql_insert_id();
$idl $id-1+$num;

$sql "UPDATE updtbl u JOIN instbl i ON u.id=i.key
          SET u.val = i.val
         WHERE i.id BETWEEN 
$id AND $idl";
$res mysql_query($sql) or die("Error in $sql.mysql_error());

$sql "DELETE FROM instbl WHERE id BETWEEN $id AND $idl";
$res mysql_query($sql) or die("Error in $sql.mysql_error());

?>

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 11:14)   письмо автору
 
   для: Trianon   (03.01.2009 в 22:58)
 

>загнать данные в другую (возможно - временную) таблицу, и выполнить один UPDATE. Как такое сделать чет тоже не догоню...
Пока придеться, наверное, все же в цикле...

* блин когда же я уже книжку по mysql куплю... )*

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 10:41)   письмо автору
 
   для: Trianon   (04.01.2009 в 01:57)
 

нет )
но если честно, у меня не получается это сделать во временной таблице...
или Вы про "исходную" таблицу?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 01:57)   письмо автору
 
   для: ddhvvn   (04.01.2009 в 00:19)
 

Как одним оператором несколько строк в таблицу добавить, я надеюсь, расписывать не надо?

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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