2017-01-22 6 views
-1

MySQLで行ごとに同じUUID値を2回選択するにはどうすればよいですか?MySQLで行ごとに同じUUID値を2回選択する方法はありますか?

例コード:

SELECT CONCAT('A: ', A, ', ', B, '-----', B) C 
FROM 
(
    SELECT UUID() B 
    ,A 
    FROM 
    (
    SELECT 1 A 
    UNION ALL 
    SELECT 2 
) IQ 
) OQ; 

期待値:

  • C(カラム)
  • A:1、aaaaaaaaaaaa-AAAAAAAA-aaaaaaaaaaaa ----- aaaaaaaa- AAAA-AAAA-AAAA-aaaaaaaaaaaa
  • A:2、bbbbbbbbbbbb-BBBBBBBB-bbbbbbbbbbbb ----- bbbbbbbbbbbb-BBBBBBBB-bbbbbbbbbbbb

上記のコードサンプルからの実際の出力例:

  • C(カラム)
  • A:1、a1a3a027-e0fc-11e6-9aa2-bcee7b9e8497 ----- a1a3a038-e0fc-11e6-9aa2- bcee7b9e8497
  • A:つまり2、a1a3a047-e0fc-11e6-9aa2-bcee7b9e8497 ----- a1a3a04a-e0fc-11e6-9aa2-bcee7b9e8497

、私は7桁の数字を得ることができないと8(1から始まる)インデックスは同じ行で同じになります。

MID、CONCAT、CASTのUUID()関数を無駄にすることも試みました。

MySQLバージョン:

C:\[directory]\mysql\data>mysql -V 
mysql Ver 14.14 Distrib 5.7.17, for Win32 (AMD64) 
+1

Aaaaaaaaaaaaaaaaa – Strawberry

+0

なぜダウン投票?私のサンプルコードに明らかな問題があるかどうか、または実際にMySQLにバグがあるかどうかにかかわらず、答えがより役に立ちます。 – David

答えて

0

私は、変数を使用しない場合でも、変数としてUUID()のインラインの結果を格納することによって、問題を解決することができました:

SELECT CONCAT('A: ', A, ', ', B, '-----', B) C 
FROM 
(
    SELECT 

  @unused := #otherwise useless variable
  UUID() B 
     ,A 
    FROM 
    (
     SELECT 1 A 
     UNION ALL 
     SELECT 2 
    ) IQ 
) OQ; 
関連する問題