SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.11.2007 17:46:16

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Вопрос по удалению 0

Привет, простите если не туда эту тему запостил. Нужна помощь знатоков MySQL. Такая ситуация, есть таблица se_profiles, в ней есть поле profile_50.

Таблица se_profiles отвечает за юзеров сайта, а поле profile_50 за их ICQ вообщем после того как я в админке сайта добавил это новое поле, у всех там появись нули, мне надо разом у все пользователей из этого поля удалить нули, ну а если у кого вписана аська то оставить как есть, вообщем что-то типа, если 0 то заменить на пробел или пусто, если не ноль, то оставить как есть.

Неактивен

 

#2 18.11.2007 17:56:50

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: Вопрос по удалению 0

Чтобы добиться желаемого результата, Вам нужно сделать две вещи:
(перед этим очень желательно сделать резервную копию вашей таблицы, например, с помощью mysqldump)

1. если столбец profile_50 имеет числовой тип - то поменять его на VARCHAR (соответственно, если он уже имеет строковый тип, то этот пункт можно пропустить)

2. UPDATE se_profiles SET profile_50 = '' WHERE profile_50 = '0';

А вообще лучше бы Вам, конечно, номер ICQ хранить в столбце типа INT, а нули обрабатывать уже на уровне клиентского приложения.

Неактивен

 

#3 18.11.2007 18:12:24

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Re: Вопрос по удалению 0

Спасибо большое за ответ.

profile_50       varchar(250)    в функции ничего нет              дальше           тот самый номер ICQ

У каждого юзера такое

Неактивен

 

#4 18.11.2007 18:14:35

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Re: Вопрос по удалению 0

Спасибо, сделал дамп, сделал запрос, помогло, все сработало, огромное спасибо. Это проект www.piterstyle.ru

Неактивен

 

#5 18.11.2007 18:15:33

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Вопрос по удалению 0

Как вариант - оставить числовым (но допускающим NULL) и сделать
UPDATE se_profiles SET profile_50 = NULL WHERE profile_50=0;

Неактивен

 

#6 18.11.2007 18:17:02

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Вопрос по удалению 0

Аха, Вы уже справились, ну, хорошо smile

Неактивен

 

#7 18.11.2007 18:20:49

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Re: Вопрос по удалению 0

Да, спасибо, все помогло. Расскажу как это произошло. В настройках сайта добавил еще одно поле в профайл пользователей, у тех кто зарегился до этого момента стали нули, у тех кто после этого ничего, ну если конечно туда ничего не вписали

Неактивен

 

#8 18.11.2007 21:31:00

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Re: Вопрос по удалению 0

А не подскажете есть какие-нибудь средства по защите БД

Неактивен

 

#9 18.11.2007 22:06:11

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Вопрос по удалению 0

Не пускайте к ней чужих и делайте регулярный backup

Неактивен

 

#10 18.11.2007 22:33:00

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Вопрос по удалению 0

Проблемам безопасности обычно больше подвержено веб-приложение, а не сама база данных.

Если Вы хотите защититься от случайных ошибок администратора или программы, то полезно включить бинарный журнал в MySQL

Неактивен

 

#11 19.11.2007 18:08:20

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: Вопрос по удалению 0

Если у Вас apache (или другой web-сервер) и сервер mysql выполняются на одном и том же компьютере, то для повышения безопасности можно запускать сервер с ключом --skip-networking (если, конечно, есть такая возможность) - тогда сервер будет принимать соединения только с localhost

Неактивен

 

#12 20.11.2007 19:29:26

killerok
Участник
Зарегистрирован: 18.11.2007
Сообщений: 6

Re: Вопрос по удалению 0

Нет, к сожалению у меня арендованный сервер

Неактивен

 

#13 20.11.2007 22:57:02

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: Вопрос по удалению 0

Ну, в таком случае просто берегите свои пароли

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson