Pindahkan data dari satu pangkalan data ke pangkalan data yang lain
P粉509383150
P粉509383150 2023-08-24 09:58:47
0
2
656
<p>Saya perlu memindahkan data dari satu pangkalan data ke pangkalan data yang lain, kedua-duanya pada sistem setempat yang sama. </p> <p>Nama jadual dan lajur adalah berbeza dan saya tidak perlu memindahkan semua lajur daripada pangkalan data lama, jadi </p> <p><kod>Pilih *</kod> </p> <pre class="brush:php;toolbar:false;">INSERT INTO newDatabase.table1(Column1, Column2); PILIH oldDatabase.table1(column1, column2) DARIPADA oldDatabase.table1</pre> <p>Tetapi saya mendapat <kod>#1064 - Ralat Sintaks</kod></p> <p>Apakah yang salah dengan pertanyaan saya dan bagaimana saya boleh membetulkannya? </p> <p>Terima kasih terlebih dahulu</p>
P粉509383150
P粉509383150

membalas semua(2)
P粉985686557
INSERT INTO db1.table SELECT * FROM db2.table;

Jika anda ingin menyalin data ke jadual yang sama dalam pangkalan data yang berbeza.

P粉663883862

Pertanyaan anda sepatutnya kelihatan seperti ini:

INSERT INTO newDatabase.table1 (Column1, Column2) 
SELECT column1, column2 FROM oldDatabase.table1;

Kemas kini

Memandangkan jawapan ini mendapat perhatian lebih daripada yang saya jangkakan, saya harus mengembangkan jawapan ini. Pertama, ia mungkin tidak jelas daripada jawapan itu sendiri, tetapi nama lajur tidak perlu sama. Jadi, perkara berikut juga akan berfungsi (dengan mengandaikan lajur wujud dalam jadual masing-masing):

INSERT INTO newDatabase.table1 (Column1, Column2) 
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;

Selain itu, ia tidak perlu menjadi lajur sebenar dalam jadual. Satu contoh mengubah data yang sering saya gunakan ialah:

INSERT INTO newDatabase.users (name, city, email, username, added_by) 
SELECT CONCAT(first_name, ' ', last_name), 'Asgard', CONCAT(first_name,'@gmail.com'), CONCAT(first_name,last_name), 'Damir' FROM oldDatabase.old_users;

Jadi, mungkin peraturan yang lebih jelas sekarang ialah selagi pertanyaan SELECT mengembalikan bilangan lajur yang sama seperti yang diperlukan oleh pertanyaan INSERT, ia boleh digunakan sebagai ganti VALUES.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan