gpt4 book ai didi

sql - 使用 Perl SQLite 自动递增

转载 作者:行者123 更新时间:2023-12-03 17:39:15 26 4
gpt4 key购买 nike

我在使用 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 标识为自动增量和主键,但当我使用上述查询添加新字段时,文件 ID 仍保留为空并且不会自动递增。有什么想法吗?我的表格设计错了吗?

干杯,

内特

最佳答案

我建议您在文件表上仅使用 FileID 字段创建主键(您有两个字段)。我认为您有一个拼写错误:它是 AUTOINCRMENT(您输入 AUTO_INCRMENT)。看到这个:http://www.sqlite.org/autoinc.html

关于sql - 使用 Perl SQLite 自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com