|
|
|
| Имеется столбец, во всех полях которого значение NULL, нужно ввести в каждое поле порядковый номер, то есть 1, 2,
3, ... ,2413. Написал на PHP скрипт:
for($n=1; $n <= 2413; $n++)
{
$query = "INSERT INTO bolnica(number) VALUE($n)";
mysql_query($query);
}
Но он начинает вводить порядковый номер не с первого поля, а с последнего - 2413-ого, и создаёт 2413
дополнительных полей. Где ошибка? | |
|
|
|
|
|
|
|
для: Jenia
(30.10.2004 в 02:13)
| | INSERT добавляет строку в таблицу. А вам нужно изменить поле. Для это воспользуйтесь UPDATE:
$query="UPDATE bolnica SET number=$n"
|
А может вам лучше было бы создать первичный ключ со значением поля autoincrement. И тогда порядковый номер генерировался бы автоматически при добавлении новой записи. | |
|
|
|
|
|
|
|
для: Axxil
(30.10.2004 в 10:47)
| | >А может вам лучше было бы создать первичный ключ со
>значением поля autoincrement. И тогда порядковый номер
>генерировался бы автоматически при добавлении новой записи.
Да в этом случае даже делать ничего не понадобилось бы - при создании индекса с атрибутом auto_increment в уже существующей таблице с 2413 записями - значения индекса автоматически бы получили номера от 1 до 2413. | |
|
|
|
|
|
|
|
для: cheops
(30.10.2004 в 11:37)
| | А индекс по какому полю создавать? В любом случае наверное придётся выделять индексирующее поле. А если изначально создать поле с первичным ключом, тогда будет намного удобнее работать с таблицей. | |
|
|
|
|
|
|
|
для: Axxil
(30.10.2004 в 12:29)
| | Вообще говоря да, хороший тон диктует, чтобы каждая таблица содержала первичный ключ, но его можно сделать и пост-фактум - например назначив в качестве первичного ключа number (он судя по всему всё-равно должен быть уникальным). | |
|
|
|
|
|
|
|
для: cheops
(30.10.2004 в 12:31)
| | Точно :) | |
|
|
|