Rumah > Soal Jawab > teks badan
P粉9808152592023-08-25 14:47:08
Cuba ini
INSERT INTO db_example.tab_example (id,name,surname) SELECT id,first_name,'M. Nega' FROM db_contacts.tab_mygroup
Anda boleh menggunakan klausa join dalam FROM. Ia sepatutnya berkesan!
P粉3735968282023-08-25 11:19:31
Hanya kembalikan nilai literal daripada pernyataan SELECT; Contohnya:
INSERT INTO db_example.tab_example (id,name,surname,group) SELECT ID , first_name , last_name , '1' AS group FROM db_contacts.tab_mygroup;
Susulan
S: Bolehkah saya menggunakan fungsi AS untuk memilih first_name dan last_name dalam lajur yang sama? Atau adakah saya memerlukan fungsi lain?
Jawapan: Jika anda ingin menggabungkan nilai first_name
和last_name
ke dalam satu lajur, anda boleh menyertainya menggunakan ungkapan dan menggunakan ungkapan itu dalam senarai PILIH, seperti
CONCAT(last_name,', ',first_name')
atau
CONCAT(first_name,' ',last_name)Ini tidak akan memberi kesan dalam konteks
AS
关键字在INSERT ... SELECT
, tetapi memberikan ungkapan alias yang sepadan dengan nama lajur yang disisipkan boleh membantu pembaca akan datang.
INSERT INTO db_example.tab_example (id,name,surname,group,full_name) SELECT ID , first_name , last_name , '1' AS group , CONCAT(first_name,' ',last_name) AS full_name FROM db_contacts.tab_mygroup