我使用的CREATETABLE(MYSQL PERL)语句不';行不通

我使用的CREATETABLE(MYSQL PERL)语句不';行不通,mysql,perl,Mysql,Perl,我的代码如下。代码在CREATE TABLE语句之前运行正常 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; use DBI; $dbh = DBI->connect("DBI:mysql:DBNAME:DatabaseHost", "DATABASE", "PASSWORD"); $dbh->do("CREATE TABLE IF NOT EXISTS tt1 ( id INT(4) NOT NUL

我的代码如下。代码在
CREATE TABLE
语句之前运行正常

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";

use DBI;


$dbh = DBI->connect("DBI:mysql:DBNAME:DatabaseHost", "DATABASE", 

"PASSWORD");


$dbh->do("CREATE TABLE IF NOT EXISTS tt1 (
id INT(4) NOT NULL AUTO_INCREMENT, 
name VARCHAR(10), 
surname VARCHAR(10),
company_name VARCHAR(20),
building_number VARCHAR(4),
address VARCHAR(100),
postcode VARCHAR(6)
)");

print "table created";

为了在列上使用
AUTO_INCREMENT
,必须将其声明为表的主键

$dbh->do("CREATE TABLE IF NOT EXISTS tt1 (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
name VARCHAR(10), 
surname VARCHAR(10),
company_name VARCHAR(20),
building_number VARCHAR(4),
address VARCHAR(100),
postcode VARCHAR(6)
)");

eror消息是什么?可能有错误消息?请尝试运行普通(非CGI)Perl脚本,以便更容易诊断问题(即直接在命令行上)。或者(甚至更好)直接在MySQL控制台中运行SQL(如果您没有控制台访问权限,也可以通过phpMyAdmin)。非常感谢。我离开了几天。”“主键”起作用了!我越来越绝望了。这帮了大忙。