为什么我的TABEL为InnoDB时.用HIBERNATE写不进去值..而为MyISAM时可以写入
但我另一张tabel也是InnoDB却可以写入,由于要用到SPRING的事务管理..所以table只能为InnoDB.这种情况是怎么回事?
以下是两个TABLECREATE TABLE `order_head` (
`ORDER_NO` varchar(30) NOT NULL,
`ORDER_AMT` double(14,4) NOT NULL default '0.0000',
`ORDER_STATUS` varchar(1) NOT NULL,
`ORDER_DATE` date NOT NULL,
PRIMARY KEY (`ORDER_NO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `order_detial` (
`ORDER_NO` varchar(30) NOT NULL,
`ORDER_AMT` double(14,4) NOT NULL,
`ORDER_QTY` int(12) NOT NULL,
`ORDER_TIME` date NOT NULL,
`WARE_TYPE` varchar(50) NOT NULL,
`USER_ID` varchar(50) default NULL,
`WARE_NAME` varchar(120) NOT NULL,
`SERVER_NAME` varchar(50) NOT NULL,
`SERVER_AREA` varchar(50) NOT NULL,
`WARE_PRICE` double(14,4) NOT NULL default '0.0000',
PRIMARY KEY (`ORDER_NO`,`WARE_TYPE`,`WARE_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
但我另一张tabel也是InnoDB却可以写入,由于要用到SPRING的事务管理..所以table只能为InnoDB.这种情况是怎么回事?
以下是两个TABLECREATE TABLE `order_head` (
`ORDER_NO` varchar(30) NOT NULL,
`ORDER_AMT` double(14,4) NOT NULL default '0.0000',
`ORDER_STATUS` varchar(1) NOT NULL,
`ORDER_DATE` date NOT NULL,
PRIMARY KEY (`ORDER_NO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `order_detial` (
`ORDER_NO` varchar(30) NOT NULL,
`ORDER_AMT` double(14,4) NOT NULL,
`ORDER_QTY` int(12) NOT NULL,
`ORDER_TIME` date NOT NULL,
`WARE_TYPE` varchar(50) NOT NULL,
`USER_ID` varchar(50) default NULL,
`WARE_NAME` varchar(120) NOT NULL,
`SERVER_NAME` varchar(50) NOT NULL,
`SERVER_AREA` varchar(50) NOT NULL,
`WARE_PRICE` double(14,4) NOT NULL default '0.0000',
PRIMARY KEY (`ORDER_NO`,`WARE_TYPE`,`WARE_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货