2016-08-05 80 views
0

我得到這個錯誤,當我執行這個查詢:MySQL的不正確的默認值

SQLSTATE[HY000]: General error: 1366 Incorrect decimal value: '' for column 'taxes' at row 1 (SQL: insert into `delivery_note_elements` (`delivery_note_id`, `name`, `quantity`, `unit`, `taxes`, `discount`, `total`, `updated_at`, `created_at`) values (1344, x, 1, 1, , , 1, 2016-08-05 10:57:12, 2016-08-05 10:57:12)) 

我讀過有關STRICT_TRANS_TABLES MySQL的方式,但我已禁用它,重新啓動MySQL和錯誤仍然存​​在。

mysql -u root -p -e "select @@sql_mode" 

+------------+ 
| @@sql_mode | 
+------------+ 
|   | 
+------------+ 

有什麼想法嗎?

謝謝!

+1

什麼是架構'taxes'的定義。 **如果沒有,我們都將只是猜測** – RiggsFolly

+0

使用空白,而不是空,如果你想要的默認值。 – DsRaj

+1

我不認爲'STRICT_TRANS_TABLES'與這種情況有什麼關係 – RiggsFolly

回答

0

這似乎是你的SQL

INSERT INTO `delivery_note_elements` (
       `delivery_note_id`, 
       `name`,    
       `quantity`, 
       `unit`, 
       `taxes`, 
       `discount`, 
       `total`, 
       `updated_at`, 
       `created_at` 
      ) 
     VALUES (
       1344, # delivery_note_id 
       x,  # name 
       1,  # quantity 
       1,  # unit 
       ,  # taxes <---- no value here 
       ,  # discount <---- no value here 
       1,  # total 
       2016-08-05 10:57:12, # updated_at 
       2016-08-05 10:57:12 # created_at 
      ) 

錯誤說你taxes值是錯誤的。稅收是你的第五價值。看看這些值。有兩個逗號直接按順序沒有在該位置之間的值。那是你的錯誤。您的表架構(CREATE TABLE)在這裏似乎不允許NULL值。

+0

是的......但應用程序工作正常......也許這是一個laravel或雄辯的新功能:¿ – Klian

0

可能是你必須分配一個值

insert into `delivery_note_elements` 
    (`delivery_note_id`, `name`, `quantity`, `unit`, `taxes`, `discount`, `total`, `updated_at`, `created_at`) 
values (1344, x, 1, 1,0.00,0 , 1, 2016-08-05 10:57:12, 2016-08-05 10:57:12)) 
0

INSERT INTO delivery_note_elements ( delivery_note_id ,,,單元,,折扣,,的updated_at , created_at ) VALUES ('1344', 'x', '1', '1','0.00','0.00' , '1', '2016-08-05 10:57:12', '2016-08-05 10:57:12')