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)") ;
쿼리 : 내가 AUTO_INCREMENT과 PRIMARY KEY 모두 인 것으로 FileID에를 확인했다하더라도
$dbh->do("INSERT INTO Files (UserID, File_Name)
VALUES ('$_[0]', '$_[1]')") ;
, 위를 사용하여 새 필드를 추가 할 때 쿼리는 FileID가 비어 있고 자동으로 증가하지 않습니다. 이견있는 사람? 테이블을 잘못 설계 한 적이 있습니까?
건배,
네이트
AUTO_INCREMENT는 mysql 구문입니다. 정말로 혼란 스럽다. – Dallaylaen
해당 SQL 문에 대한 SQL 구문 오류가 발생하지 않았습니까? 아, 맞습니다. 아마 당신이 확인하지 않았을 것입니다 - RaiseError를 설정하지 않았다면 말입니다. – bart
흠 ... 좋아요. 감사! –