我在PHP中有以下的MySQL查詢,它工作正常。查詢在MySQL和PHP中運行良好,但不在java中
$strUpdate = "INSERT INTO `batchfolder`.`newbatch` (`BatchID` ,`Batch` ,`barcode` ,`PG`)VALUES (NULL , '', '1', '')";
當我直接在數據庫中運行它也很好。
然而,當我在Java運行它,
try {
conn = DriverManager.getConnection (url, userName, password);
Statement st = conn.createStatement();
st.execute("INSERT INTO `batchfolder`.`newbatch` (`BatchID` ,`Batch` ,`barcode` ,`PG`)VALUES (NULL , '', '1', '')");
st.close();
}
它提供了以下錯誤。
Exception in thread "main" java.sql.SQLException: Field 'Pre' doesn't have a default value
Pre是數據庫中的下一行,它沒有默認值。
我的問題是,那麼這個查詢如何在mysql和php中正常運行。
P.S BatchID是新批中的int(10) autoincremented
值。
這是我的表格結構。
CREATE TABLE IF NOT EXISTS `newbatch` (
`BatchID` int(10) NOT NULL AUTO_INCREMENT,
`Batch` varchar(100) NOT NULL,
`barcode` varchar(5) NOT NULL,
`Ly` varchar(5) NOT NULL DEFAULT '0',
`PG` varchar(5) NOT NULL,
`Pre` varchar(5) NOT NULL,
`Flu` varchar(5) NOT NULL,
`FluID` varchar(100) DEFAULT NULL,
`DateCreated` varchar(100) DEFAULT NULL,
`Comments` varchar(500) DEFAULT NULL,
PRIMARY KEY (`BatchID`),
UNIQUE KEY `FluID` (`FluID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000160 ;
你可以顯示錶結構嗎? – beck03076
'show create table newbatch'會有所幫助。 – Jeshurun
更新了表結構 – Ank