Php 我在使用codeintor中的代码创建表时遇到了一个问题

Php 我在使用codeintor中的代码创建表时遇到了一个问题,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,这是我在创建表时的sql语句。请给我一个错误,请帮助我在这方面的错误 CREATE TABLE `b_1_hold_orders` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `products` TEXT NOT NULL, `order_type` INT(1) NOT NULL, `order_area` INT(11) NOT NULL DEFAULT 0, `order_table` INT(11) NOT NULL DEFAULT

这是我在创建表时的sql语句。请给我一个错误,请帮助我在这方面的错误

CREATE TABLE `b_1_hold_orders` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `products` TEXT NOT NULL, `order_type` INT(1) NOT NULL, `order_area` INT(11) NOT NULL DEFAULT 0, `order_table` INT(11) NOT NULL DEFAULT 0, `customer_id` INT(11) NOT NULL DEFAULT 0, `shipping_info` TEXT NULL, `order_note` TEXT NULL, `coupons` TEXT NULL, `customer_loyality_program` TEXT NULL, `tax_return` INT(1) NOT NULL DEFAULT 0, `net_payable_amount` double(11) NOT NULL, `branch_id` INT(11) NOT NULL, `cashier_id` INT(11) NOT NULL, `cashier_login_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `order_date_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', CONSTRAINT `pk_b_1_hold_orders` PRIMARY KEY(`id`) ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci



CREATE TABLE `b_1_hold_orders` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `products` TEXT NOT NULL, `order_type` INT(1) NOT NULL, `order_area` INT(11) NOT NULL DEFAULT 0, `order_table` INT(11) NOT NULL DEFAULT 0, `customer_id` INT(11) NOT NULL DEFAULT 0, `shipping_info` TEXT NULL, `order_note` TEXT NULL, `coupons` TEXT NULL, `customer_loyality_program` TEXT NULL, `tax_return` INT(1) NOT NULL DEFAULT 0, `net_payable_amount` double(11) NOT NULL, `branch_id` INT(11) NOT NULL, `cashier_id` INT(11) NOT NULL, `cashier_login_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `order_date_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', CONSTRAINT `pk_b_1_hold_orders` PRIMARY KEY(`id`) ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci

您的问题在于“应付净额”字段:

`net_payable_amount` DOUBLE(11) NOT NULL,
Double接受两个参数:总位数和小数点后的位数。因此,根据您的需要,尝试将其更改为:

`net_payable_amount` DOUBLE(11,4) NOT NULL,

代码中有两个问题,双数据类型需要两个参数

CREATE TABLE `b_1_hold_orders` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `products` TEXT NOT NULL, 
`order_type` INT(1) NOT NULL, `order_area` INT(11) NOT NULL DEFAULT 0, `order_table` INT(11) NOT NULL DEFAULT 0, 
`customer_id` INT(11) NOT NULL DEFAULT 0, `shipping_info` TEXT NULL, `order_note` TEXT NULL, `coupons` TEXT NULL, 
`customer_loyality_program` TEXT NULL, `tax_return` INT(1) NOT NULL DEFAULT 0, `net_payable_amount` double(11, 2) NOT NULL, 
`branch_id` INT(11) NOT NULL, `cashier_id` INT(11) NOT NULL, `cashier_login_date` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01', 
`order_date_time` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01', CONSTRAINT `pk_b_1_hold_orders` PRIMARY KEY(`id`) ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci
另外,在mysql中,当无零模式处于严格模式时,
0000-00-00
不是有效日期

目前我已将默认日期添加为1970-01-01。。您可以更改日期,也可以使其为空。。

您能将您遇到的错误包括在内吗?#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以获取正确的语法,以便在第1行中使用near')NOT NULL、
branch_id
INT(11)NOT NULL、
cashie id
INT(11)NOT NULL、`cashie'