Der Titel wird wie folgt umgeschrieben: Englische Übersetzung von „Insert (SELECT & VALUES) together'
P粉536532781
P粉536532781 2023-08-24 16:36:32
0
2
508
<p>Ich versuche, Daten in eine Tabelle einzufügen. Ich kenne zwei Möglichkeiten: </p> <p>Eine besteht darin, die Zeile als Wert hinzuzufügen: </p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname,group) WERTE ('','Tom','Hanks','1');</pre> <p>Die andere Möglichkeit besteht darin, aus einer anderen Tabelle einzufügen:</p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname) SELECT ID,first_name,last_name FROM db_contacts.tab_mygroup;</pre> <p>Aber was ist, wenn ich gleichzeitig einige Werte aus einer anderen Tabelle einfügen möchte (zweite Methode) und manuell einige Standardwerte einfügen möchte (erste Methode). </p> <p>Das habe ich versucht (ohne Erfolg): </p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname,group) WERTE ( WÄHLEN SIE ID AUS db_contacts.tab_mygroup, SELECT first_name FROM db_contacts.tab_mygroup, SELECT last_name FROM db_contacts.tab_mygroup, '1' );</pre> <p>Ich habe darüber nachgedacht, eine Ansichtstabelle zu erstellen, und das könnte reichen, aber ich dachte, es gäbe vielleicht eine Möglichkeit, beides hinzuzufügen. </p> <p>Vielen Dank an alle! Ich hoffe, ich habe klar beschrieben, was ich brauche :)</p>
P粉536532781
P粉536532781

Antworte allen(2)
P粉980815259

试试这个

INSERT INTO db_example.tab_example (id,name,surname)
SELECT id,first_name,'M. Nega'
FROM db_contacts.tab_mygroup

你可以在FROM子句中使用join。它应该可以工作!

P粉373596828

只需从SELECT语句中返回字面值;在SELECT列表中添加一个表达式。例如:

INSERT INTO db_example.tab_example (id,name,surname,group)
SELECT ID
     , first_name
     , last_name
     , '1' AS group
  FROM db_contacts.tab_mygroup;

后续

问:我可以使用AS函数在同一列中选择first_name和last_name吗?还是需要另一个函数?

答:如果您想将first_namelast_name的值合并到单个列中,您可以使用表达式将它们连接起来,并在SELECT列表中使用该表达式,例如

CONCAT(last_name,', ',first_name')

或者

CONCAT(first_name,' ',last_name)

AS关键字在INSERT ... SELECT的上下文中不会产生任何效果,但为该表达式分配一个与被插入的列的名称相匹配的别名可以帮助未来的读者。

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!