は、MySQLの保証をい注文その正確 SELECT *フィールドが
DESCRIBE mytable
ん
と同じ順序でSELECT * from mytable
意志出力そのフィールドのようなクエリ?
すべてのテーブルの最初の列は常にPRIMARY KEYですが、select *
で列の順序に依存することは必ずしも良いとは限りませんが、最初の列提供されるフィールドはPKです。
これはMySQL固有の質問であり、以下のリンクの複製ではありません。
は、MySQLの保証をい注文その正確 SELECT *フィールドが
DESCRIBE mytable
ん
と同じ順序でSELECT * from mytable
意志出力そのフィールドのようなクエリ?
すべてのテーブルの最初の列は常にPRIMARY KEYですが、select *
で列の順序に依存することは必ずしも良いとは限りませんが、最初の列提供されるフィールドはPKです。
これはMySQL固有の質問であり、以下のリンクの複製ではありません。
答えはいいえ、mysqlはselect *
の列がdescribe tablename
出力と同じ順序になることを保証しません。どちらの場合でも、MySQLのドキュメントでは列の順序は指定されていません。しかし、どちらのステートメントも列の順序を列挙する可能性が高いため、実際には出力が一致する必要があります。
しかし、どちらのフィールドでもフィールドの順序が同じであっても、pkフィールドが最初にリストされているわけではありません。左端の列だけでなく、どの列にもpkを定義できます。
私たちの構造の場合、ルールは最初の列としてPKを持つことです。すなわち、DESCRIBEコマンドの最初に来ます。 –
[SELECT \ *文の列順の可能な複製 - 保証されていますか?](http://stackoverflow.com/questions/11737232/column-order-in-select-statement-guaranteed) – Dekel
@Dekelは重複していませんが、それは同じDBMSでさえない –
答えはANSI SQLに基づいている、それは少し助けるかもしれないと思った。私はそれが良い質問だと思うようになぜ質問を投票(またはトピックとしてオフにマーク)したのかよくわかりません。 – Dekel