2
我在使用Perl的SQLite中自動增加時遇到問題。使用Perl自動增加SQLite
數據庫設計:
$dbh->do("CREATE TABLE IF NOT EXISTS `Users` (
`UserID` VARCHAR(45) NOT NULL PRIMARY KEY UNIQUE ,
`First_Name` VARCHAR(45) NOT NULL ,
`Last_Name` VARCHAR(45) NOT NULL ,
`Email` VARCHAR(45) NOT NULL ,
`Password` VARCHAR(45) NOT NULL)") ;
$dbh->do("CREATE TABLE IF NOT EXISTS `Files` (
`FileID` INTEGER AUTO_INCREMENT ,
`UserID` VARCHAR(45) NOT NULL ,
`File_Name` VARCHAR(45) NOT NULL ,
`File` BLOB NULL ,
PRIMARY KEY (`FileID`, `UserID`) ,
CONSTRAINT `fk_Files_Users1`
FOREIGN KEY (`UserID`)
REFERENCES `Users` (`UserID`)
ON DELETE CASCADE
ON UPDATE CASCADE)") ;
查詢:
$dbh->do("INSERT INTO Files (UserID, File_Name)
VALUES ('$_[0]', '$_[1]')") ;
即使我已經確定寫到FileID作爲既是一個AUTO_INCREMENT和主鍵,當我使用上面添加一個新領域查詢FileID保留爲空,並且不會自動增加。有什麼想法嗎?我設計的表錯了嗎?
乾杯,
內特
AUTO_INCREMENT是mysql的語法。確實令人困惑。 – Dallaylaen 2011-03-18 10:02:07
你沒有得到該SQL語句的SQL語法錯誤嗎?哦,是的,你可能沒有檢查 - 除非你確實設置了RaiseError。 – bart 2011-03-18 11:26:11
嗯......好的,我會給你一個鏡頭。謝謝! – 2011-03-18 20:26:01