mysqlのfloat型は非常に奇妙です
3 つのフィールドがあるテーブル テストがあります。
uid、1、2、uid は int 型、自動インクリメント、1 つのフィールドは float(3,2)、2 つのフィールドは float(5,2) です。理由としては 1 つのフィールドでは、123.12 のような数字、つまり最初の 3 桁と最後の 2 桁を挿入できます
2 つのフィールドでは、最初の 5 桁と最後の 2 桁を挿入できますが、 insert a
insert into test names(null,123.12 ,12345.12) 挿入は成功しましたが、表示されるデータが異なります。これはなぜですか?
という値 98.12、つまり最初の 2 桁を挿入する必要がある場合。 2 つの小数点については、このフィールドを float 型に設定する必要がありますか? D)、REAL(M,D)、または DOUBLE PRECISION(M,D)。ここで、「(M,D)」とは、小数点以下D桁の合計M桁の整数を表示する値を意味します。たとえば、FLOAT(7,4) として定義された列は、-999.9999 と表示される可能性があります。 MySQL は保存時に値を四捨五入するため、FLOAT(7,4) カラムに 999.00009 を挿入すると、おおよその結果は 999.0001 になります。
2. 精度要件がある場合は、
DECIMAL 型と NUMERIC 型を使用する必要があります。MySQL では、DECIMAL 型と NUMERIC 型は同じ型とみなされます。これらは、通貨データなど、正確な精度が必要な値を保持するために使用されます。この型の列を宣言する場合、精度と位取りを指定できます (通常はそうします)。例:
給与 DECIMAL(5,2) この例では、5 が精度、2 が位取りです。精度は値を保存できる桁数を示し、スケールは小数点以下の桁数を保存できます。
1. 定義が間違っています
MySQL では、FLOAT(M,D)、REAL(M,D)、DOUBLE PRECISION(M,D) などの非標準構文の使用が許可されています。ここで、「(M,D)」とは、小数点以下D桁の合計M桁の整数を表示する値を意味します。たとえば、FLOAT(7,4) として定義された列は、-999.9999 と表示される可能性があります。 MySQL は保存時に値を四捨五入するため、FLOAT(7,4) カラムに 999.00009 を挿入すると、おおよその結果は 999.0001 になります。
2. 精度要件がある場合は、
DECIMAL 型と NUMERIC 型を使用する必要があります。MySQL では、DECIMAL 型と NUMERIC 型は同じ型とみなされます。これらは、通貨データなど、正確な精度が必要な値を保持するために使用されます。この型の列を宣言する場合、精度と位取りを指定できます (通常はそうします)。例:
給与 DECIMAL(5,2)
この例では、5 が精度、2 が位取りです。精度は値を保存できる桁数を示し、スケールは小数点以下の桁数を保存できます。
わかりました、ありがとう Xu Ban。たとえば、通貨を保存する場合、それは正の数である必要があり、負の数にすることはできません。データベース内で直接制限することも、PHP の正規化を通じて制限することもできます。 -91.22 などの負の数値を直接挿入してみました。mysql は正の数値の格納を制限できますか?
給与 DECIMAL(5,2) のようなフィールドには値、つまり最大桁数が挿入されます。 3 桁の後に 2 桁が続く場合は、次のようになります。たとえば、123456 を入力しても機能しません。これは 5 桁ですが、その後に小数点以下 2 桁がありません。
DECIMAL(5,2) に保存された 123456 は 12345.00 です。 もちろん境界を越えます。
DECIMAL(5,2) は -999.99 ~ 999.99 しか保存できません
通貨を保存するときは、正の数値を使用する必要があります。理由は
マイナスの数字ですか?負債を示します
正の数を制限するには、UNSIGNED 属性を設定する必要があります。
を表すには 10 進フィールドを使用することをお勧めします

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。
