[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql удаление по номеру строки
Гость_Дмитрий
Таблица:
[name] - [text]
dima - 123
mima - qwe
max - asd
gena - zxc

Нужно удалить запись по её номеру. ($row_num)

<?php
$row_num = $_POST[id];
$mysql = mysql_connect('localhost', 'root');
$mysql = mysql_select_db('data_base');
$mysql = "DELETE FROM table --тут не знаю что писать--";
$mysql = mysql_query($mysql);
?>



Спустя 15 минут, 59 секунд (19.03.2011 - 00:54) Commander Keen написал(а):
"DELETE FROM table WHERE id=".$row_num;

Спустя 3 минуты, 12 секунд (19.03.2011 - 00:57) Гость_Дмитрий написал(а):
Дело в том что у таблицы нет столбца id, только [name] и [text], а мне нужно удалять именно по номеру строки. Я просто не знаю как это делается.

Спустя 15 минут, 27 секунд (19.03.2011 - 01:12) Commander Keen написал(а):
Цитата
Дело в том что у таблицы нет столбца id

Ты понимаешь, что это противоречит всем правилам проектирования бд? что у тебя является первичным ключом?

Спустя 37 минут, 54 секунды (19.03.2011 - 01:50) Trianon написал(а):
У строк в таблице SQL нет номеров.
Строки в таблице лежат внавал, даже если кому-то сильно кажется, что это не так.
Номера у строк начинают проявляться лишь в табличном результате запроса, снабженного указанием ORDER BY.
Причем детерминированным указанием, а не абы каким. То есть ORDER BY по уникальному ключу или выражению.
А в самой таблице никаких номеров строк нет. Отсюда вывод - вопрос лишен смысла.

Спустя 29 минут, 35 секунд (19.03.2011 - 02:20) Guest написал(а):
ORDER BY ### - Тогда сюда что можно вставить чтобы сортировало по дате?

Спустя 3 минуты, 7 секунд (19.03.2011 - 02:23) Commander Keen написал(а):
мб имя поля с датой?

Спустя 4 часа, 56 минут, 24 секунды (19.03.2011 - 07:19) inpost написал(а):
Гость_Дмитрий
Создай нормальную таблицу, добавь поля ID, DATE

Спустя 12 минут, 55 секунд (19.03.2011 - 07:32) Guest написал(а):
Ок, создал. =) Это точно единственный выход?

Спустя 20 минут, 8 секунд (19.03.2011 - 07:53) inpost написал(а):
Guest
ID autoincrement - обязательное условие.

Спустя 1 час, 18 минут, 22 секунды (19.03.2011 - 09:11) kirik написал(а):
Цитата (Guest @ 18.03.2011 - 23:32)
Это точно единственный выход?


Цитата (Trianon @ 18.03.2011 - 17:50)
в самой таблице никаких номеров строк нет

Отсюда вывод, чтобы появились номера строк - их нужно добавить самому (как выше сказали auto increment ID) smile.gif

Спустя 36 минут, 17 секунд (19.03.2011 - 09:47) T1grOK написал(а):
Еще добавлю - есть такая штука как нормализация баз данных и в одной из нормальных форм которой говорится что в каждой таблице должно быть уникальное поле(ID)

Спустя 1 час, 54 минуты, 20 секунд (19.03.2011 - 11:42) Trianon написал(а):
Цитата (T1grOK @ 19.03.2011 - 09:47)
Еще добавлю - есть такая штука как нормализация баз данных и в одной из нормальных форм которой говорится что в каждой таблице должно быть уникальное поле(ID)

Тут Вы преувеличиваете слегка.
Первичный ключ совсем не обязан быть а) строго на одном поле, и б) именно суррогатным (представляющим из себя автоинкремент)
Просто это в большинстве случаев удобно - да.
Но насчет требований нормальных форм - эт врядли.

Спустя 52 минуты, 49 секунд (19.03.2011 - 12:34) T1grOK написал(а):
Как раз обязан быть, для идентификации записи. Ведь кроме суррогатного ключа есть еще составной первичный ключ и еще несколько типов ключей, которые неявно определяются и выполняют роль уникального идентификатора записи.

Спустя 28 минут, 51 секунда (19.03.2011 - 13:03) Trianon написал(а):
составной первичный ключ не является уникальным полем.
первичный ключ на явном уникальном атрибуте (например ИНН) не является id (суррогатным ключом).
Я возражал именно против этих Ваших утверждений, а не против первичных ключей в целом.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.