Работа с базами данными.

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Решил переделать шаблон , подумал что лучше использовать БД.
Почитал разную инфу посмотрел видео ,но так ни где и не увидел элементарные запросы.
Мне нужно только брать из таблицы случайную строку с удалением, как это реализовать?
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 408
Благодарностей
1 474
Баллы
113
SELECT .... FROM.....
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
SELECT * FROM `url` WHERE id=23
Даже так не получается взять строку, пробовал еще по разному тоже.
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Как брать случайную строку нашел,
SELECT * FROM `url` ORDER BY RAND() LIMIT 1
но без удаления, есть вообще такое что бы с удалением брать строку?
Или надо два действия делать?
 

starters

Активный пользователь
Регистрация
23.09.2016
Сообщения
254
Благодарностей
109
Баллы
43

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
сначала первым запросом делаешь выборку, а вторым запросом удаляешь
А как сделать удалить строку которая содержит текст какой-то переменной?
DELETE FROM `table` WHERE.....
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
1) есть оператор LIKE
2) если ячейка содержит тот же текст что и переменная то DELETE FROM `table` WHERE `ячейка` = переменная или DELETE FROM `table` WHERE `ячейка` == переменная (то есть там операторы сравнения тоже работают) как и !=
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
1) есть оператор LIKE
2) если ячейка содержит тот же текст что и переменная то DELETE FROM `table` WHERE `ячейка` = переменная или DELETE FROM `table` WHERE `ячейка` == переменная (то есть там операторы сравнения тоже работают) как и !=
Че-то не совсем понял ,можно подробнее, я первый вообще ноль в этом всем икак правильно что записывать туда.
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
скопируйте что в переменной и одну строку с названием полей

вот кстати простые запросы вроде норм расписаны http://tradebenefit.ru/art?id=47
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
Ок понятно. ячейкой я вас запутал. это из экселя у меня. Я думал будет понятно что это поле.

http://tradebenefit.ru/struktura-bazi-dannih-mysql

по строке вы искать не можете ищут по полю.

DELETE FROM `table` WHERE `поле` == переменная
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Ок понятно. ячейкой я вас запутал. это из экселя у меня. Я думал будет понятно что это поле.

http://tradebenefit.ru/struktura-bazi-dannih-mysql

по строке вы искать не можете ищут по полю.

DELETE FROM `table` WHERE `поле` == переменная
А у меня вроде без поля, я просто залил фаил тхт со строками и все.
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
через что вы работаете с базой вашей?

SELECT * FROM `url` WHERE id=23
Даже так не получается взять строку, пробовал еще по разному тоже.
id это поле. если его нет, как по нему искать? В общем нужно понятие что у вас за структура базы. Что и самое главное где будете искать. Без этого помочь не получится.
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Создал базу заново, сделал так DELETE FROM `VSEURL` WHERE "ID"=={-Variable.otvet_baza-} , ошибка вышла
Выполнение действия Db 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 '==R82.SU' at line 1
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
Создал базу заново, сделал так DELETE FROM `VSEURL` WHERE "ID"=={-Variable.otvet_baza-} , ошибка вышла
Выполнение действия Db 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 '==R82.SU' at line 1
DELETE FROM `VSEURL` WHERE `ID` = {-Variable.otvet_baza-}

так попробуйте
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
DELETE FROM `VSEURL` WHERE `ID` = '{-Variable.otvet_baza-}'
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Вроде получилось)
DELETE FROM `VSEURL` WHERE `ID` = @otvet
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
ну и хорошо
 
  • Спасибо
Реакции: AndreyAAA

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Спасибо за помощь! Работает шаблон лучше на много, ресурсов не жрет почти, и быстрее на много)
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

Блин, пипец какой то пришлось переехать на другой хостинг, и теперь перестало работать все(
Точнее работает только взять строку, а удалить не получается
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Что не так опять?
Вот первый запрос такой
SELECT * FROM `url` ORDER BY RAND() LIMIT 1 Выполняется

Даже пытаюсь удалить строку что взял DELETE FROM `url` WHERE `ID` = "GUSEVFISH.RU"
Пробовал по разному,с "" и без, даже руками нужную строку писал, и ошибка выходит
Выполнение действия Db Unknown column 'ID' in 'where clause'
 

waal1

Client
Регистрация
30.08.2015
Сообщения
106
Благодарностей
16
Баллы
18
нужны одинарные кавычки DELETE FROM `url` WHERE `ID` = 'GUSEVFISH.RU'
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Судя по скрину выше, у вас в в структуре таблицы вообще нет колонки id ...
Погуглил в инете, там сказано нужно сделать запрос ALTER TABLE tablename ADD newid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
сделал запрос этот, появилось так

Далее выполняю запрос получения строки SELECT * FROM `url` ORDER BY RAND() LIMIT 1
Так в переменную попадет не домен, а число ид!
Что не так опять?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)