The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
[MySQL] How to import a column from db1.table to db2.table
Hello,
I've just downgraded my forum from vb4 to vb3, and would like to keep the "thanked" amount from old db. I looked into the old db and notice that "thanked" is a column in "user" table. So i would like to ask how can i move (or copy) that column from old database into the table of the new database? Also, is there anyway to plus 1 value in the "userid" field (of that column)? Because of i've used ImpEx and it's created a new admin with userid = 1, then my old admin account has userid = 2. Thank you. |
#2
|
||||
|
||||
You'd have to create a new column with the exact datatype like the original column (if that istn't already done) then you'd have to create a php script, that queries every user row, builds a new query with updated userid (+1) in the WHERE clause to apply the sql query.
Could look something like this: Code:
SELECT userid, thankedamount FROM vb4_user Code:
UPDATE vb4_user SET thankedamount = ".$thankedamount." WHERE userid = ".$userid+1 |
Благодарность от: | ||
kevin.kool |
#3
|
|||
|
|||
I have ran this query in phpmyadmin and it's ok, but only for the user who has id=2, how to loop it?
Sorry because my php knowledge is bad. This is the query that i have used: Quote:
|
#4
|
||||
|
||||
it's no mysql query at all
there needs to be a php script built around this... Can you tell me if the two vbulletin installations are stored in the same or in a different database? And tell me how the exact name of the column is where the amount of thanks is stored. |
#5
|
|||
|
|||
Two forums are store in 2 different databases. I wrote as 'vb4forum' and 'vb3forum' as above.
And the 'thanked amount' column name is post_thanks_thanked_times Could you create a sample php page? |
#6
|
||||
|
||||
This is my old convert-youtube script. I just adjusted some values and added a 2nd database.
This only works if username and password are the same for the 2 databases. open the file, enter your credentials at the top of the script. It works like $db1 reads, $db2 writes. So $db1 is your old db to read from, $db2 is the one where you want the thanks transferred to. Upload it into the root dir of your site (not forum root) so it can be accessed like "http://someurl.tld/transferthanks.php" and run it. didn't test it myself, if you're getting errors, report back. And I suggest to test it in a safe environment first. |
#7
|
|||
|
|||
Thank for the file but when it's got error:
Quote:
Code:
$res['post_thanks_thanked_times'] = 0; Code:
else echo "Error: ".mysql_error()." (id: $id)<br />"; |
#8
|
||||
|
||||
d'ouh, my bad.
Fixed |
#9
|
|||
|
|||
Got this error:
Code:
Error: 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 '1' at line 1 (id: 1) |
#10
|
||||
|
||||
huh weird... change line 42 from:
PHP Code:
PHP Code:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|