Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте! Подскажите?
Известно что строка в таблице по счету 14-ая, как её изменить?
Конечно можно поменять строку содержащую конкретное значение, а вот по номеру строки, как её менять непонятно ???
Вот что я хочу:
UPDATE 'таблица' WHERE строка_№==14 SET caption='новое_значение' LIMIT 1;
Неактивен
Здравствуйте.
aRpi написал:
Известно что строка в таблице по счету 14-ая, как её изменить?
В рамках модели реляционных БД нет понятия номера строки в таблице, поэтому такая постановка задачи не очень корректная.
aRpi написал:
Конечно можно поменять строку содержащую конкретное значение, а вот по номеру строки, как её менять непонятно ???
Почему бы Вам не завести в таблице столбец с номером строки? Например, с аттрибутом auto_increment. По этому столбцу и меняли бы значения. В чем такая необходимость менять по несуществующему номеру строки?
Отредактированно deadka (29.04.2011 19:47:12)
Неактивен
UPDATE tablename SET fieldname = value LIMIT 13,1. Будет изменена 14я строка
в какой-то сортировке (вообще говоря, произвольная строка при условии, что в
таблице есть 14 строк). Если добавить ORDER BY, определенность появится, но
только зачем всё это?
Неактивен
paulus, а насколько такой приём вообще корректен? Какие таблицы кроме типа разве что MyISAM дают возможность рассчитывать на то, что данные будут выбираться из таблицы в том же порядке, в котором заносились? Ну или были отсортированы с помощью alter table tablename order by tfiled?
Неактивен
MyISAM как раз не гарантирует порядка. Стоит удалить строку, а потом добавить
новую, и новая может добавиться в освободившуюся «дырку».
В InnoDB это не документировано, но порядок следует из общих принципов —
данные лежат на листьях главного ключа. Как следствие — они могут выбирать-
ся только сортированными по главному ключу (если нет явной сортировки)
Неактивен
Насчет MyISAM - ок, а если после удаления сделать optimize table t или alter table t order by field f, то удалят ли "дырки" эти операции, будет ли порядок будет гарантирован?
Неактивен
Да, удалят, конечно. Оптимизация таблицы как раз этим и занимается.
Стандарт не гарантирует выборки данных в правильном порядке, но я
не верю, что когда-то может возникнуть версия, которая начнет читать
данные не последовательно — в этом просто нет смысла.
Неактивен
Спасибо .
Отредактированно deadka (01.05.2011 07:57:00)
Неактивен
Страниц: 1