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

Форум MySQL

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

 

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

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

тема: get_next_number
 
 автор: С   (30.01.2007 в 12:49)   письмо автору
 
 

Как организовать запрос из php к БД MSSQL, чтобы получить следующее значение в столбце id(первичный ключ)? Наверное что-то с этой функцией get_next_number?

   
 
 автор: targa   (30.01.2007 в 15:36)   письмо автору
 
   для: С   (30.01.2007 в 12:49)
 

ID последней записи можно получить либо РНР функцией

$last_id = mysql_insert_id($db_cinnecttion);


Либо запросами:

SELECT LAST_INSERT_ID() AS my_last
SELECT MAX(id) AS max_id FROM my_table


Ну и прибавьте потом единицу.

   
 
 автор: Loki   (30.01.2007 в 17:00)   письмо автору
 
   для: targa   (30.01.2007 в 15:36)
 

>$last_id = mysql_insert_id($db_cinnecttion);
вообще-то речь шла про mssql

   
 
 автор: targa   (30.01.2007 в 17:29)   письмо автору
 
   для: Loki   (30.01.2007 в 17:00)
 

Ой. Я по привычке глянул форум MySQL и написал :)

   
 
 автор: С   (30.01.2007 в 22:37)   письмо автору
 
   для: targa   (30.01.2007 в 17:29)
 

Спасибо за отзывы. но это немного не то. Еше немного поесну проблему в базе данных new есть таблица client в которой первый столбец называется ID каждая новая строка начинается с последнее значение +1, Пока вопрос решил так. Работает но медленно

$result2 = mssql_query("SELECT idFROM client ") or die ("Запрос не выполнен");
//Все строки в запросе
$symma = mssql_num_rows($result2);
//номер пред последней строки
$e=$symma-1;
//беру значение из этой строки
$posnom=mssql_result($result2,$e,0);
//прибовляю 1 получаю необходимое значения для записи
$nomdlazap=$posnom+1;

В принцепе работает но достаточно медленно да и вообще коряво, как получить сразу последнее значение не знаю?
Нарпимер в FOXPRO если не ошибаюсь это можно добится так get_next_number('client ')

   
 
 автор: targa   (31.01.2007 в 01:38)   письмо автору
 
   для: С   (30.01.2007 в 22:37)
 

>>как получить сразу последнее значение не знаю


SELECT MAX(id)+1 AS max_id FROM client

Такой код будет работать на любом SQL, даже на фокспрошном.

>>Нарпимер в FOXPRO если не ошибаюсь это можно добится так get_next_number('client ')

В восьмом VFP в справке нашел тока:

GETNEXTMODIFIED( )
Returns the record number for the next modified record in a buffered table or cursor.
GETNEXTMODIFIED(nRecordNumber [, cTableAlias | nWorkArea] [, lNoFire])

   
 
 автор: С   (01.02.2007 в 20:50)   письмо автору
 
   для: targa   (31.01.2007 в 01:38)
 

Спасибо большое работает ок! Не знаю что меня сначалов такие дебри потенуло :)))

   
Rambler's Top100
вверх

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