2011-12-27 1 views
1
1000年に400から600のMYSQL行を挿入

こんにちは皆:私が使用して400から1000に開始MySQLのテーブルに600行を挿入しようとしている

INSERT INTO 
    myTable 
    (
    nr 
    ) 
SELECT 
    SEQ.SeqValue 
FROM 
(
SELECT 
    (HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue 
FROM 
    (
    SELECT 0 SeqValue 
    UNION ALL 
    SELECT 1 SeqValue 
    UNION ALL 
    SELECT 2 SeqValue 
    UNION ALL 
    SELECT 3 SeqValue 
    UNION ALL 
    SELECT 4 SeqValue 
    UNION ALL 
    SELECT 5 SeqValue 
    UNION ALL 
    SELECT 6 SeqValue 
    UNION ALL 
    SELECT 7 SeqValue 
    UNION ALL 
    SELECT 8 SeqValue 
    UNION ALL 
    SELECT 9 SeqValue 
    ) ONES 
CROSS JOIN 
    (
    SELECT 0 SeqValue 
    UNION ALL 
    SELECT 10 SeqValue 
    UNION ALL 
    SELECT 20 SeqValue 
    UNION ALL 
    SELECT 30 SeqValue 
    UNION ALL 
    SELECT 40 SeqValue 
    UNION ALL 
    SELECT 50 SeqValue 
    UNION ALL 
    SELECT 60 SeqValue 
    UNION ALL 
    SELECT 70 SeqValue 
    UNION ALL 
    SELECT 80 SeqValue 
    UNION ALL 
    SELECT 90 SeqValue 
    ) TENS 
CROSS JOIN 
    (
    SELECT 400 SeqValue 
    UNION ALL 
    SELECT 500 SeqValue 
    UNION ALL 
    SELECT 600 SeqValue 
    UNION ALL 
    SELECT 700 SeqValue 
    UNION ALL 
    SELECT 800 SeqValue 
    UNION ALL 
    SELECT 900 SeqValue 
    ) HUNDREDS 
) SEQ 

私は順序で結果を得続ける:

'968' 
'469' 
'569' 
'669' 

等...

は、どのように私はそれを整理することができますか? some_tableに少なくとも401行があると仮定すると、

+0

これは実際の使用例ですか? 1000のmySQL INSERT文を生成するスクリプトを書くのは簡単ではないでしょうか? –

+0

** ** ** ** 600番号を[400、1000]の範囲に挿入しようとしていますか、その範囲内のすべての数字を挿入しようとしていますか? – melihcelik

+0

その質問は何ですか?実際の世界のケースになることはできません。単にひどいです。連続した値を生成する(そしてその順序で書き込む)方法は、実装が簡単で実行が速いという2つの方法があります。 –

答えて

2
select @s:[email protected]+1 as seq 
FROM (SELECT @s:=399) AS baseview, some_table 
WHERE @s<1000 
; 

とします。

あなたが本当にあなたのコンストラクトで行きたい場合は、最後に

ORDER BY SeqValue 

を追加します。

+0

'baseview'と' @s'とは何ですか? – methuselah

+0

@sはsesion変数です。SELECT @s:= 399で初期化され、各行でインクリメントされます。私が "SELECT @s:= 399"に与えた無作為な名前です。MySQLはユニークな名前を持つ各テーブルを要求しています。 –

+0

降順でテーブルを返すように、昇順でソートするにはどうすればよいですか? – methuselah

関連する問題