我使用的CREATE TABLE(MYSQL PERL)语句不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我使用的CREATE TABLE(MYSQL PERL)语句不起作用相关的知识,希望对你有一定的参考价值。

我的代码如下。代码运行正常到CREATE TABLE语句。

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

";

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)
)");

以上是关于我使用的CREATE TABLE(MYSQL PERL)语句不起作用的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 语法错误中的 CREATE TABLE

MySQL 函数 Create Table 给了我一个语法错误

为了工作,我的 CREATE TABLE 中缺少啥? mysql 8.X

奇怪的 MySQL CREATE TABLE 行为

MySQL create table as与create table like对比

MySQL create table as与create table like对比