导入数据库值错误,即使语法正确且精确,但检测到错误

问题描述 投票:0回答:1

这里我想导入一个数据库,其中有一个表tb_invoice,表中有数据

tanggal_invoice
我想取当前日期但由于错误而无法导入
#1067 - Invalid default value for 'date_invoice'

这是我的

tb_invoice

CREATE TABLE `tb_invoice` 
(`id` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,   
`id_mitra` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,   
`id_project` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,   
`tanggal_invoice` date NOT NULL DEFAULT NOW(),   
`kode_invoice` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,   
`penerima` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RUDY SUSANTO',   
`jabatan_penerima` varchar(50) DEFAULT NULL,   
`penerbit_invoice` int(11) DEFAULT NULL,   
`nama_pt` text NOT NULL,   
`alamat_pt` text NOT NULL ) 
ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
mysql qsqlquery
1个回答
0
投票

tanggal 是印度尼西亚语的日期,因此问题可能出现在已发布的代码中,错误是 now() 格式是日期时间,这不是日期列的合适默认值。更重要的是,只有时间戳和日期时间列可以有默认值

该代码在 mariadb mariadb 中有效,但在 mysql

中无效

所以也许导出来自 mariadb 并正在导入到 mysql。

© www.soinside.com 2019 - 2024. All rights reserved.