無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 1 一般情報 :: 1.8 MySQLの標準への準拠 :: 1.8.6 MySQL における制約の処理
« 1.8.5.7 コメントの開始記号としての'--'

1.8.6.1 PRIMARY KEYおよびUNIQUEインデックス制約 »
Section Navigation      [Toggle]
  • 1.8 MySQLの標準への準拠
  • 1.8.1 MySQLが準拠する標準
  • 1.8.2 SQLモードの選択
  • 1.8.3 ANSIモードでのMySQLの実行
  • 1.8.4 SQL標準に対するMySQL拡張機能
  • 1.8.5 MySQLと標準SQLとの違い
  • 1.8.6 MySQL における制約の処理
    • 1.8.6.1 PRIMARY KEYおよびUNIQUEインデックス制約
    • 1.8.6.2 無効値の制約
    • 1.8.6.3 ENUMおよびSET制約

1.8.6. MySQL における制約の処理

[+/-]

1.8.6.1. PRIMARY KEYおよびUNIQUEインデックス制約
1.8.6.2. 無効値の制約
1.8.6.3. ENUMおよびSET制約

MySQL ではトランザクションテーブルとロールバックが有効でない非トランザクションテーブルの両方を使用することができます。このため、MySQL と他のデータベースとでは制約の処理が多少異なります。エラー時にロールバックすることができない非トランザクションテーブルで、多数の行を更新または挿入した場合の処理を実装しなければなりません。

基本的な概念は、MySQLサーバが検出可能なエラーをコンパイル時に生成し、受け取ったエラーから実行時にリカバリするというものですほとんどの場合にこれが実装されていますが、まだすべてについて実装されているわけではありません。

MySQL における基本的なオプションは、途中でステートメントを中止するか、問題からリカバリするためにできる限りのことを行って、処理を続行するかです。デフォルトでは、サーバは後者の方法に従います。たとえば、サーバは無効値を、近い値を持つ有効値に強制変換する可能性があります。

いくつかのSQLモードオプションでは、不良データ値の処理やエラー時にステートメント実行が継続されるか中止されるかといった処理がコントロールできます。これらのオプションを使用して、他のデータベースが不適切な入力を拒絶するのと同じように、MySQLサーバをより従来に近い方法で働くようにコンフィギュレーションを行なえます。SQLモードがサーバ起動時に広域で設定されることで、すべてのクライアントに影響を与えることができます。ランタイムに各クライアントがSQLモードを設定できることで、要求に最も適した起動状態が選択できるようになります。項4.2.6. 「SQL モード」 を参照してください。

さまざまな種類の制約に関する、MySQLサーバの処理方法を以下で説明します。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.