Re: Trying to add primary key to existing database.
| From: | Chris | Date: | Sun, 04 Feb 2007 22:46:56 +0000 |
| Subject: | Re: Trying to add primary key to existing database. | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-43026@lists.php.net to get a copy of this message | ||
Christopher Blöcker wrote:
hehe, ok i would write a script that reads the existing data from the table and inserts it into a new one that has the same structure PLUS a primary key something like:Good idea but you can put that all into one step and leave php out altogether: insert into table (f1, f2, f3) select f1,f2,f3 from other_table; See http://dev.mysql.com/doc/refman/4.1/en/insert-select.html (Nice bonus - this is sql standard so it works across a lot of different db's). -- Postgresql & php tutorials http://www.designmagick.com/original_table: name, description, whatever new_table: id, name, description, whateverwhere id is primary key and auto_increment then <? if ($link=mysql_connect("host","user","pw") { mysql_select_db("the_correct_database); $result=mysql_query("SELECT * FROM original_table"); while (list($name,$description,$whatever) = mysql_fetch_row($result)) { mysql_query("INSERT INTO new_table (name,description,whatever) VALUES ($name,$description,$whatever)"); //that should add the id automatically } mysql_close($link) ?> then you can drop the original_table and rename the new_table to original_table i don't know if there's a better, more simple solution and i hope i did not forget anything important and it works this way