私は、重複する列名を受け取るが、値に基づいています。私は値を変更すると、エラーが無いです

mirali sabzehparvar:

私は、このクエリを使用しようとしていますが、別の列に同じ値がある場合、私はこのエラーが表示されます。

1060 - 重複列名「123」

ここでの例:

INSERT INTO chiro(in_out,chirocov,chirocov2,chiroded,chiromet,
                    chirocovp,chirooop,chirooopmet,chirooopcp, 
                    chirovisit,chirouse,chiromax,chirodedapply,
                    chironum1,chironum2) 
    SELECT * FROM (SELECT 'in', 'no','individual','123','123','20', 
                            '213','21243','10','14','5','2000','yes', 
                            '0','1') AS tmp  
    WHERE NOT EXISTS (SELECT in_out,chirocov,chirocov2,
                            chiroded,chiromet,chirocovp,chirooop,
                            chirooopmet,chirooopcp, chirovisit,chirouse,
                            chiromax,chirodedapply,chironum1,chironum2 
                        FROM chiro 
                        WHERE chirocov='no' 
                        AND chirocov2='individual' 
                        AND chiroded='123' 
                        AND chiromet='123' 
                        AND chirocovp='20' 
                        AND chirooop='213' 
                        AND chirooopmet='213' 
                        AND chirooopcp='10' 
                        AND chirovisit='14' 
                        AND chirouse='5' 
                        AND chiromax='2000' 
                        AND chirodedapply='yes' 
                        AND chironum1='0' 
                        AND chironum2='1') 
    LIMIT 1

私は値を変更するときには、tは任意のエラーがあること」が勝ったような。:

INSERT INTO chiro(in_out,chirocov,chirocov2,chiroded,
                    chiromet,chirocovp,chirooop,chirooopmet,
                    chirooopcp, chirovisit,chirouse,chiromax,
                    chirodedapply,chironum1,chironum2) 
        SELECT * FROM (SELECT 'in', 'no','individual','123','231','20', 
                                '213','21243','10','14','5','2000',
                                'yes', '0','1') AS tmp 
                        WHERE NOT EXISTS (SELECT in_out,chirocov,chirocov2,
                                chiroded,chiromet,chirocovp,chirooop,
                                chirooopmet,chirooopcp, chirovisit,chirouse,
                                chiromax,chirodedapply,chironum1,chironum2 
                        FROM chiro 
                        WHERE chirocov='no' 
                        AND chirocov2='individual' 
                        AND chiroded='123' 
                        AND chiromet='123' 
                        AND chirocovp='20' 
                        AND chirooop='213' 
                        AND chirooopmet='213' 
                        AND chirooopcp='10' 
                        AND chirovisit='14' 
                        AND chirouse='5' 
                        AND chiromax='2000' 
                        AND chirodedapply='yes' 
                        AND chironum1='0' 
                        AND chironum2='1') 
    LIMIT 1 

あなたは私を助けて、私が間違ってやっているものを私に教えてもらえますか?

離れて渡します:

ただ、外を削除するSELECTから。

SELECT * FROM (SELECT 'in', 'no','individual','123','123','20', 
               '213','21243','10','14','5','2000','yes', 
               '0','1') AS tmp 

それは、内側からのすべての無名の列を取得しているためselect、それらの値です名前で、これと同じ名前を持つ2つの列があります123
簡素化を参照してくださいデモ問題のを。
これを使って:

INSERT INTO chiro(
   in_out, chirocov, chirocov2, chiroded, chiromet, chirocovp, chirooop, chirooopmet, chirooopcp,  
   chirovisit, chirouse, chiromax, chirodedapply, chironum1, chironum2
) 
SELECT 'in',  'no', 'individual', '123', '123', '20',  '213', '21243', '10', '14', '5', '2000', 'yes',  '0', '1'
WHERE NOT EXISTS(
  SELECT in_out, chirocov, chirocov2, chiroded, chiromet, chirocovp, chirooop, chirooopmet, chirooopcp,    
         chirovisit, chirouse, chiromax, chirodedapply, chironum1, chironum2 
  FROM chiro 
  WHERE chirocov='no' AND chirocov2='individual' AND chiroded='123' AND chiromet='123' AND chirocovp='20' 
  AND chirooop='213' AND chirooopmet='213' AND chirooopcp='10' AND chirovisit='14' AND chirouse='5' 
  AND chiromax='2000' AND chirodedapply='yes' AND chironum1='0' AND chironum2='1'
) 

また、LIMIT 1必要ありません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=291976&siteId=1