|
|
|
|
|
для: Trianon
(04.01.2009 в 11:50)
| | >Или может я (как ненастоящий сварщик) ошибаюсь с непрерывностью диапазоза instbl.id , и так писать нельзя?
Ох любите Вы загадки.. :-)
Странно, что в мануале толком об этом ничего не написано.
Но я тут потестил немножко и..
Нет, Вы не ошибаетесь, Insert блокирует таблицу, и соответственно и диапазон первичных ключей будет непрерывным. | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 12:42)
| | Обязательно попробую ) | |
|
|
|
|
|
|
|
для: ddhvvn
(04.01.2009 в 12:30)
| | ну и попробовали бы. Что помешало-то? | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 11:50)
| | О_О а я ток было собрался пробовать код... ) | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 11:22)
| | Ау! Знатоки MySQL во всех его проявлениях!
Или может я (как ненастоящий сварщик) ошибаюсь с непрерывностью диапазоза instbl.id , и так писать нельзя? | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 11:22)
| | офигеть... будем разбираться
СПАСИБО! ))) | |
|
|
|
|
|
|
|
для: ddhvvn
(04.01.2009 в 10:41)
| |
<?php
$data = array(1 => 1, 5 => 3, 6 => 6, 14 => 4, 12 => 5, 7 => 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());
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(03.01.2009 в 22:58)
| | >загнать данные в другую (возможно - временную) таблицу, и выполнить один UPDATE. Как такое сделать чет тоже не догоню...
Пока придеться, наверное, все же в цикле...
* блин когда же я уже книжку по mysql куплю... )* | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 01:57)
| | нет )
но если честно, у меня не получается это сделать во временной таблице...
или Вы про "исходную" таблицу? | |
|
|
|
|
|
|
|
для: ddhvvn
(04.01.2009 в 00:19)
| | Как одним оператором несколько строк в таблицу добавить, я надеюсь, расписывать не надо? | |
|
|
|
|