MySQL不正确的默认值

时间:2016-08-05 11:02:06

标签: php mysql laravel eloquent

执行此查询时出现此错误:

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 |
+------------+
|            |
+------------+

有什么想法吗?

谢谢!

3 个答案:

答案 0 :(得分: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))

答案 1 :(得分: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值。

答案 2 :(得分:0)

INSERT INTO delivery_note_elements ( delivery_note_id ,名称,,单元,税费,折扣,,的updated_at , {created_at {1}}