【问题标题】:CREATE TABLE (MYSQL PERL)statement I use doesn't work我使用的 CREATE TABLE (MYSQL PERL) 语句不起作用
【发布时间】:2018-06-21 18:53:36
【问题描述】:

我的代码如下。代码运行正常,直到 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";

【问题讨论】:

  • 错误信息是什么?
  • 也许你有错误信息?
  • 尝试运行一个普通的(非 CGI)Perl 脚本,以便更容易诊断您的问题(即直接在命令行上)。或者(甚至更好)直接在 MySQL 控制台中运行 SQL(或者如果您没有控制台访问权限,则通过 phpMyAdmin)。

标签: mysql perl


【解决方案1】:

为了在列上使用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)
)");

【讨论】:

  • 非常感谢。我离开了几天。 'PRIMARY KEY' 奏效了!我越来越绝望了。这是很大的帮助。
猜你喜欢
  • 1970-01-01
  • 2018-06-06
  • 2016-09-16
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 2021-04-18
  • 2011-05-02
  • 1970-01-01
相关资源
最近更新 更多