У меня проблемы с автоматическим приращением в SQLite с использованием Perl.
Дизайн базы данных:
$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 и PRIMARY KEY, когда я добавляю новое поле с помощью вышеуказанного запроса, FileID остается пустым и не увеличивается автоматически. Какие-нибудь мысли? Я неправильно спроектировал таблицы?
Приветствия
Nate