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

Форум MySQL

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

 

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

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

тема: auto_increment
 
 автор: opex   (26.06.2006 в 09:38)   письмо автору
 
 

Мне нужно, чтобы в одной таблице в двух столбцах было значение auto_increment.
Как такое сделать?

   
 
 автор: Trianon   (26.06.2006 в 10:13)   письмо автору
 
   для: opex   (26.06.2006 в 09:38)
 

Никак.
Но можно изменить вновь добавленные строки так, чтобы зачение второго поля вычислялось как функция первичного ключа.

   
 
 автор: opex   (26.06.2006 в 12:57)   письмо автору
 
   для: Trianon   (26.06.2006 в 10:13)
 

Объясните, пожалуйста, подробнее, лучше с примерами.

   
 
 автор: Trianon   (26.06.2006 в 13:12)   письмо автору
 
   для: opex   (26.06.2006 в 12:57)
 

Ок. Давайте пример таблицы.

   
 
 автор: opex   (26.06.2006 в 16:22)   письмо автору
 
   для: Trianon   (26.06.2006 в 13:12)
 

Обычная таблица news. В ней два столбца: articleid и displayorder. В articleid поставлено значение auto_increment. и с ней все нормально. Нужно сделать, чтобы в displayorder каждое следующее значение увеличивалось на 1.
Спасибо за внмание.

   
 
 автор: Unkind™   (26.06.2006 в 16:38)   письмо автору
 
   для: opex   (26.06.2006 в 16:22)
 

А зачем? В принципе, если начить с нуля, то значения в этих столбцах будут одинаковые...

   
 
 автор: valenok   (26.06.2006 в 16:50)   письмо автору
 
   для: Unkind™   (26.06.2006 в 16:38)
 

А пример запроса так чтоб они были одинаковыми?
А может отображение нужно делать не по порядку?

   
 
 автор: Unkind™   (26.06.2006 в 16:54)   письмо автору
 
   для: valenok   (26.06.2006 в 16:50)
 

А пример запроса так чтоб они были одинаковыми?
Это мне адресовано чтоль?

   
 
 автор: valenok   (26.06.2006 в 16:55)   письмо автору
 
   для: Unkind™   (26.06.2006 в 16:54)
 

to: Unkind™

   
 
 автор: Unkind™   (26.06.2006 в 17:02)   письмо автору
 
   для: valenok   (26.06.2006 в 16:55)
 

В том-то и дело, что НЕ БЫВАЕТ двух auto_increment в таблице, поэтому и запрос сказать не могу, НО в данном случае зачем эти два auto_increment нужны?
Например:

<?php
include "config.php";

$query mysql_query("SELECT * FROM 'news'");
echo 
"articleid - displayorder";
while(
$news mysql_fetch_array($query))
{
echo 
$news['articleid'];
echo 
" - ";
echo 
$news['articleid'];
}
?>

Получится, например так:

1 - 1
2 - 2
3 - 3


Просто я тут смысла не вижу...

   
 
 автор: valenok   (26.06.2006 в 17:07)   письмо автору
 
   для: Unkind™   (26.06.2006 в 17:02)
 

Так поля то разные...
Я знаю что двух не бывает..
и что по твоему делать когда значения полей нужны разные

   
 
 автор: Unkind™   (26.06.2006 в 19:01)   письмо автору
 
   для: valenok   (26.06.2006 в 17:07)
 

и что по твоему делать когда значения полей нужны разные
Если все-таки почему-то эти поля отличаются, то просто при заносе во второе поле (неauto_increment) нужно прибавлять/отнимать для того, чтобы сохранять этот баланс...


P.S А вообще интересно послушать автора. Зачем это.

   
 
 автор: opex   (27.06.2006 в 08:52)   письмо автору
 
   для: Unkind™   (26.06.2006 в 19:01)
 

Короче получается что каждый раз, когда я заношу значение во второе поле, то я должен достать максимальное значение и прибавить к нему 1? А попроще решения нет?

   
 
 автор: Loki   (27.06.2006 в 09:37)   письмо автору
 
   для: opex   (27.06.2006 в 08:52)
 

Вам уже задали вопрос: для чего это нужно. Если бы вы потрудились на него ответить, то наверняка бы вам предложили вариант решения

   
 
 автор: opex   (27.06.2006 в 10:31)   письмо автору
 
   для: Loki   (27.06.2006 в 09:37)
 

Первое поле- просто id новости. Второе поле- это в каком порядке новости будут выводиться.
Впринципе значения этих полей могут совпадать, и проблема решена. Большое спасибо Trianon.

   
 
 автор: Trianon   (26.06.2006 в 21:24)   письмо автору
 
   для: opex   (26.06.2006 в 16:22)
 

INSERT INTO news (text) VALUES ('xxx1'),('xxx2'),('xxx3');
UPDATE news SET displayorder=articleid WHERE displayorder IS NULL

   
 
 автор: opex   (27.06.2006 в 08:55)   письмо автору
 
   для: Trianon   (26.06.2006 в 21:24)
 

А это, как я понял, приравнивание значений обоих полей?

P.S. php только изучаю, так что если что не смейтесь.

   
 
 автор: valenok   (26.06.2006 в 17:07)   письмо автору
 
   для: opex   (26.06.2006 в 09:38)
 

Вам поможет mysql функция MAX()

   
Rambler's Top100
вверх

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