[前][次][番号順一覧][スレッド一覧]

mysql:6923

From: ML account <ML account <ml@xxxxxxxxxx>>
Date: Sat, 01 Feb 2003 13:23:55 +0900
Subject: [mysql 06923] Re: SQL 文について(仮)

 こんにちは。

shogo <sho@xxxxxxxxxx>さんの
<200302010338.AA00262@xxxxxxxxxx>
"[mysql 06922] Re: SQL 文について(仮)"

> とありますが、基本的な問題なんでしょうか?
 と、思いますよ。

> 次に、バッククォートについて触れていますが、MySQLマニュアルのリファレン
> スによると MySQL 3.23.6以降では識別子を``'でクォートする、と述べられてい
> ます。さらに
> 	注意: 識別子が制限された単語であったり特殊文字を含む場合は、それ
> 	を使用する時には常に ` (バッククォート) でクォートする必要があり
> 	ます:
> との注意書きまで加えられていますが、なぜここでバッククォートの使用をやめ
> ろ、と仰るのでしょうか
>
> さらに、この形でのINSERT文をMySQL3.22.10以降はサポートしていると思います
> が?(ANSI標準ではないのかもしれませんが・・・
 バージョン依存ですよね?バッククオートもINSERTも。バージョンの指定が無
い場合、一般的な話をする方が良いと思います。さもなければ、「バージョンい
くついくつで」と書いて限定を行うと良いと思います。

 INSERTで2つの書き方があって、1つは基準準拠、もう1つはローカル限定と
した場合、何を好きこのんでローカル限定を使う必要があるのでしょう。

 「それ(=tableやuserのような名前)を使わなきゃいけない場面もないとは言い
切れません」とはどういう場合でしょう。SQLも言語であり、その「プログラム」
がドキュメントとしての側面を持っている事を考えれば、「やる事は可能」と
「やる」or「やってよい」の間には相当の隔たりがあるのではないでしょうか。


>  ・なぜ、バッククォートを使ってはならないのか
>  ・なぜ、TINYINTを使ってはならないのか
>  ・なぜ、MySQLの許容するINSERT構文を使ってはならないのか。
 バッククオートとINSERTについては上に書きました。TINYINTが好ましくない
理由は、それが必然である理由が見えないからです。厳密なテーブル設計により
絶対に 256以上のレコードにならないという保証があるならまだしも、そう
いう限定なり保証なりが存在せず、またテーブル設計に種々の問題がある、ロー
カル限定の書き方をする、となれば、「ただ何となく」がTINYINT使用の理由と
考えられるでしょう(ぼくはそう考えました)。


 基本的な問題と言ったものは、全て一般的なシステム設計の注意事項だと考え
ています。技術者のみならず技術マターの話をする場合に「常識」として知って
なければならないはずのもので、その意味で文献になっているかは疑問です。で
すが、そういう「常識」が通用しなくなっているのもまた事実で、それが原因
(の1つ)となっているシステム設計や構築の失敗が、最近特に増えている気が
しています。その分析を論文に書いて見るのも面白いかと考えます。



	松枝知直	<tomom@xxxxxxxxxx>
			http://www.argus.ne.jp/~tomom/



[前][次][番号順一覧][スレッド一覧]

      6920 2003-02-01 07:23 ["Kondo Tatsuya" <kon] SQL 文について(仮)                    
      6921 2003-02-01 12:15 ┗[ML account <ml@xxxxx]                                       
      6922 2003-02-01 12:38  ┗[shogo <sho@xxxxxxxxx]                                     
->    6923 2003-02-01 13:23   ┗[ML account <ml@xxxxx]                                   
      6924 2003-02-01 14:06    ┣[shogo <sho@xxxxxxxxx]                                 
      6930 2003-02-02 13:47    ┃┗[ML account <ml@xxxxx]                               
      6925 2003-02-01 14:23    ┗[Shingo Yamagai <yama]                                 
      6926 2003-02-01 17:17     ┗[<lavlav@xxxxxxxxxx> ]