Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SET ROWCOUNT 1 DELETE 'com' / 18 сообщений из 18, страница 1 из 1
01.12.2005, 17:25:18
    #33411944
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Добрый день. Не подскажите ли какой аналог SQL запроса удаляющего первую строку из базы данных?
У меня в MSSQLServer'e работало: SET ROWCOUNT 1 DELETE 'com'
Но в phpMyAdmin (для MYSQL) Не работает. Как удалить с помощью скрипта первую строку?
Вообще пытаюсь написать программу удаляющую строку отмеченную с помощью <input type='radio'>
Не подскажите как это реализовать?
...
Рейтинг: 0 / 0
01.12.2005, 17:41:53
    #33412001
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Этот вариант принципиально неправильный, если с базой работает более одного человека -- очень просто удалить что-то не то.
...
Рейтинг: 0 / 0
01.12.2005, 19:07:22
    #33412271
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
интересно, для чего это юзается? Академический интерес?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
01.12.2005, 19:09:44
    #33412277
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Смотря от версии MySQL можно использовать конструкцию LIMIT 1 в конце delete, но согласен с DocAll
...
Рейтинг: 0 / 0
01.12.2005, 19:10:23
    #33412279
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Вообще да, смысл таких действий малопоняен...
Для MySQL его заменяет запрос DELETE FROM tblname LIMIT 1.
...
Рейтинг: 0 / 0
01.12.2005, 19:31:23
    #33412317
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
и ваще... есть ведь доки http://dev.mysql.com/doc/refman/4.1/en/delete.html
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
02.12.2005, 11:43:23
    #33413191
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Admin_VladВообще пытаюсь написать программу удаляющую строку отмеченную с помощью <input type='radio'>
Не подскажите как это реализовать?
Удалять по индексу? А вообще, что значит первая строка? В РБД вроде такого понятия нет ... или я ошибаюсь?
...
Рейтинг: 0 / 0
02.12.2005, 15:26:28
    #33414026
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
А вы не подскажите почему вот этот фрагмент скрипта выводит переменную $col_value дважды?

print "<table>\n";
while ($line = mysql_fetch_array($result)) {
print "\t<tr>\n";
while(list($col_name, $col_value) = each($line)) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
...
Рейтинг: 0 / 0
02.12.2005, 15:27:30
    #33414031
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
DocAlВообще да, смысл таких действий малопоняен...
Для MySQL его заменяет запрос DELETE FROM tblname LIMIT 1.

А если нужно удалить строку N2? То тогда "DELETE FROM tblname LIMIT 2" ?
...
Рейтинг: 0 / 0
02.12.2005, 15:45:01
    #33414090
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
SQL-запрос:

DELETE com LIMIT 2
Ответ MySQL:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 2' at line 1
...
Рейтинг: 0 / 0
02.12.2005, 16:23:30
    #33414245
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Если вам настолько не нужны данные -- может быть, проще сразу использовать TRUNCATE?
...
Рейтинг: 0 / 0
02.12.2005, 19:17:57
    #33414724
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
DocAlЕсли вам настолько не нужны данные -- может быть, проще сразу использовать TRUNCATE?
А какой SQL запрос должен быть чтобы удалить или обнулить строку N2?
...
Рейтинг: 0 / 0
02.12.2005, 19:20:17
    #33414728
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Admin_VladSQL-запрос:

DELETE com LIMIT 2
Ответ MySQL:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 2' at line 1

Неправильный запрос, правильный
DELETE from com LIMIT 2;

он удалит 2 строки.
...
Рейтинг: 0 / 0
02.12.2005, 19:23:11
    #33414733
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Admin_Vlad DocAlЕсли вам настолько не нужны данные -- может быть, проще сразу использовать TRUNCATE?
А какой SQL запрос должен быть чтобы удалить или обнулить строку N2?
Никакой, потому что эта строка может быть №1 при других условиях where или order by :) и тогда можно будет удалить всего 1 строку, которая №2 при условиях, которые были вначале.

Каламбур конечно, но понимаете ли вы, афтар вопроса, что удаление строки идет после ее определения по условиям сортировки?
...
Рейтинг: 0 / 0
02.12.2005, 19:29:07
    #33414743
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Кроме того, при отсутствии условий сортировки, порядок вывода, вообще говоря, отдаётся на откуп СУБД, и нет никаких гарантий, что в следующий раз элементы будут идти в том же порядке. И хотя вероятность этого велика, ничто это _НЕ_ГАРАНТИРУЕТ_. Так что удаление как первой записи, так и второй записи логически эквивалентно -- это удаление _СЛУЧАЙНОЙ_ записи. Потому, если вам нужно удалить какую-то определённую запись -- сообщайте в WHERE условия удаления, однозначно идентифицирующие именно ту запись, которую хотите удалить. Иначе это стиль программирования "руки поотрывал бы!".
...
Рейтинг: 0 / 0
02.12.2005, 20:55:01
    #33414855
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
неизв.В реляционной модели данных нет понятия порядка данных в таблице и соответствено нет понятия начала и конца данных, также как и понятия "указатель таблицы". И сот-но нет понятия первая запись, вторая и т.п. Ты должен сам обеспечивать этот порядок с помощью ODRER BY и/или ключевого поля, для этого AUTO_INCREMENT очень очень подходит.

-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
05.12.2005, 11:06:40
    #33416582
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Понял! А как использовать AUTO_INCREMENT в MySQL?
...
Рейтинг: 0 / 0
05.12.2005, 11:47:47
    #33416720
Admin_Vlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET ROWCOUNT 1 DELETE 'com'
Спасибо, уже разобрался. В phpMyAdmin есть иконка с ключом и select с 'auto_increment'
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SET ROWCOUNT 1 DELETE 'com' / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]