Saya cuba memasukkan nilai ke dalam jadual dalam MySQL tetapi tidak dapat berfungsi. Saya menggunakan pertanyaan berikut:
INSERT into articulo values (32,'Sala',CAST(',000.45999' AS DECIMAL(10,5)),40.2399,200.2399,3,'kid 3');
MySQL memaparkan ralat berikut:
1 row(s) affected, 1 warning(s): 1292 Truncated incorrect DECIMAL value: ',000.45999'
Jadual menunjukkan perkara berikut:
Sudah tentu, saya mencipta jadual "articulo" sebelum:
CREATE Table articulo ( id_art int NOT NULL, nom_art varchar (25) DEFAULT 'XXXXXXXXXXXXX', prec_art decimal (10,5) DEFAULT 0.000, peso_art decimal (10,5), existencia float, color_art int, CONSTRAINT chk_color1 CHECK (color_art between 0 and 20), um_art varchar (10) DEFAULT 'DEF_PZA', primary key (id_art) );
Saya telah melihat banyak contoh tentang pemutus, tetapi semuanya menggunakan fungsi pemutus di bawah pilihan kenyataan.
Ada idea apa yang boleh saya lakukan untuk melakukan tindakan yang saya mahukan?
Saya ingin menyimpan $10,000.45999 sebagai nilai perpuluhan ke dalam jadual. Ini akan menjadi 10000.45999
Terima kasih atas sokongan anda!
Anda tidak boleh menggunakan koma atau tanda dolar dalam nilai dalam pertanyaan ini.
Anda boleh menulis semula pertanyaan sebagai:
Walau bagaimanapun, jika lajur anda ditakrifkan secara eksplisit sebagai
DECIMAL(10,5)
, tidak perlu menukar nilai kepada perpuluhan.Cuma tulis:
Anda boleh memasukkan nilai dengan nombor tetap. Untuk kes anda, ini sepatutnya berfungsi:
Tegasnya,
cast()
tidak diperlukan, tetapi saya suka mengelakkan penukaran tersirat - ini boleh menyebabkan masalah yang sukar dikesan.Sila ambil perhatian: Adalah lebih baik untuk memasukkan senarai lajur dalam pernyataan
insert
.