спонсоры:

Ответить на комментарий


MYSQL fix duplicates saving duplicated data with new id

DROP PROCEDURE `max_wid`;
DELIMITER ;;
CREATE PROCEDURE `max_wid` (OUT `y` int)
SQL SECURITY INVOKER
BEGIN
SELECT MAX(wid) into y from works;
END;;
DELIMITER ;
DELIMITER ;;
CREATE PROCEDURE `first_dup` (OUT `t` int)
SQL SECURITY INVOKER
BEGIN
SELECT wid into t FROM works GROUP BY wid HAVING ( COUNT(wid) > 1 ) LIMIT 0,1;
END;;
DELIMITER ;

The procedure itself - finding first duplicated data - and updating it to maximum possible id
After running this code till ZERO duplicates just create unique Primary key for Your table

CALL `max_wid`(@`y`);
CALL `first_dup`(@`t`);
UPDATE works set wid = ((SELECT @y) +1) WHERE wid like (SELECT @t) LIMIT 1;

Адрес уведомления об обратной ссылке для этой записи:

http://itua.name/ru/trackback/944

Ответить

Содержание этого поля является приватным и не предназначено для показа. Если у вас есть аккаунт в Gravatar, связанный с этим e-mail адресом, то он будет использован для отображения аватара.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <img> <center> <b> <i> <u><h1><h2><h3><h4><h5><h6><strike><q><abbr><tr><td><table><br><p><div><span><embed><object>
  • Вы можете разместить код, используя теги <code>...</code>(общий) или <?php ... ?> (выделенный PHP).
  • Строки и параграфы переносятся автоматически.
CAPTCHA на основе изображений
Введите код с картинки

Ленты новостей

Propeople Expert

експерименти

Rambler's Top100