2011-12-27 10 views
1

次のコードは、MYSQLテーブルに行を作成しますが、降順で返します。MYSQL行を昇順で作成する

昇順で値を返すにはどうすればよいですか?

INSERT INTO 
     rent 
     (
     id 
     ) 
    select @s:[email protected]+1 as seq 
    FROM (SELECT @s:=399) AS baseview, rent 
    WHERE @s<1000; 
+0

'INSERT'_returns_ rows now? –

+0

申し訳ありません私は従いませんか? – methuselah

+0

いいえ、そうではありません。値を返すにはINSERTステートメントが必要ですが、INSERT_inserts_ valuesが必要です。 –

答えて

4

SELECTを実行するときに順序を決定する列を使用して、ORDER BY句を使用します。

ORDER BY x ASC 

[挿入]をクリックすると、順序は何も意味しません。それがどのように下に格納されているかを知らないでください。 SQLは宣言的です - 何が行われているのか心配はありません。

+0

' 家賃( ID) 選択@s。INSERT INTO:(@sを選択します。= 399)から、配列 よう= @ S + 1 baseview AS、 WHERE @s <1000借ります。 ORDER BY id ASC' – methuselah

-2

idフィールドがプライマリキーの場合、デフォルトで昇順で返されます。または、order by id ascで強制してください。

+0

RDBMS内の任意のテーブルに暗黙または既定の順序があると仮定して、 –

+1

-1の関係に、主キーまたは非負の順序付けはありません(「ラッキー」と抽象的なリークがあります)。 – gbn

+0

100%の時間、 'order by'句が存在しない場合、結果セットはプライマリキー(キーのタイプにかかわらず、複数のフィールドを持つプライマリキーに関係なく)によって昇順に返されます。 –

関連する問題