検索した結果、decimal(m,n) の最初の桁 m が合計桁数であることを知らない人がいる範囲外の問題がたくさん見つかりました。しかし、それは私の問題ではありません。
問題の列については、次のものがあります。
Field | Type | Null | Key | Default | Extra
preco | decimal(50,2) unsigned | NO | | 0.00 |
設定 decimal(50,2) は、私が本当に望んでいる、または必要としている以上のものです。私は本当に合計10桁だけが欲しいです。それは価格なので、1 億を超えるものはおそらくばかげているので、おそらく decimal(10,2) の方が適切でしょう。ただし、MySQL は次のクエリを受け付けていません。
INSERT INTO `produto` (`tipo_id`, `preco`, `qtd`, `opcao1`) VALUES (110, '77888555.43', '10', 'Azul')
CodeIgniter、phpMyAdmin、および MySQL コマンド ライン クライアントで直接クエリを実行しました。10 進数の値を引用符なしで試してみましたが、常に同じエラーが発生します。
「行 2 の列 'preco' の値が範囲外です」