Our Blog

Добавление первичного ключа в базу

Сделал базу, начал делать ее вывод на сайте и понял, что без первичного ключа в базе кода окажется намного больше. Значит надо добавить первичный ключ. Но не все так просто оказалось, изменять 600 записей мне не хотелось. Поэтому я написал PHP скрипт, который добавляет уникальное поле в каждую запись и делает столбец уникальным ключом.

Скрипт «Добавление первичного ключа в базу»:

<?php
$db=@mysql_connect("localhost", "логин_к_базе", "пароль_к_базе");
if (!$db) {
   die ("Ошибка подключения к базе");
}
mysql_select_db("имя_базы");
$rez=mysql_query ("SELECT * FROM text ORDER BY `date` DESC"); //Я сделал выборку всех записей с сортировкой по полю date (т.е. по дате)
//вполне возможно, у Вас это поле отсутствует, тогда используйте:
//rez=mysql_query ("SELECT * FROM text"); //text - имя таблицы, первичный ключ в которую надо добавить
$i=0;
while ($pole=mysql_fetch_row($rez)) {
   mysql_query("UPDATE `text` SET `id` = '$i' WHERE CONVERT(`text` USING utf8 ) = '$pole[0]' AND `date` = '$pole[1]'"); //тут условие, которое однозначно
//идентифицирует запись. У Вас это условие свое.
   $i++;
}
echo "Ключи добавлены к $i записям";
?>
Comments ( 0 )
    -->