簡體   English   中英

在數組SQL查詢中的所有元素之間創建關系。

[英]Create Relationship Between All Elements in an Array SQL query.

我有一系列名稱:

 $names = array('ray'=>0,'bob'=>1,'sue'=>2,'jeff'=>3);

然后,我有了一個表,用於存儲數組中每個關鍵字之間的關系:

+----------+----------+
|  id_a    |   id_b   |
+----------+----------+
|   0      |    1     |
+----------+----------+
|   0      |    2     |
+----------+----------+
|   0      |    3     |
+----------+----------+
|   1      |    2     |
+----------+----------+
|   1      |    3     |
+----------+----------+
|   2      |    3     |
+----------+----------+

目前,我存儲關系的功能是:

    foreach($names as $name=>$id_a){
        foreach($names as $n2=>$id_b){
            if($name != $n2){
                INSERT INTO relationships (id_a,id_b) VALUES ($id_a,$id_b);
            }
        }
        array_shift($names);
    }

我想知道是否有更快的SQL解決方案來處理此類操作?

您可以先構建插入的值數組,然后通過單個查詢將其全部插入; 那會更快。 查詢看起來像...

INSERT INTO relationships (id_a, id_b) VALUES (0, 1), (0, 2), (0, 3);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM