[英]How to create a sql table if table does not exsists using php?
如果数据库中不存在该表,则尝试使用PHP创建一个表。
下面是我正在使用的代码:
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
die('Failed to connect to server: ' . mysql_error());
exit;
}
$db_selected = mysql_select_db($dbname);
if(!$db_selected)
{
$db_selected = " CREATE DATABASE $dbname ";
}
$usertb1 = mysql_query("select 1 from $usertb LIMIT 1");
if( $usertb1 !== FALSE )
{
$sql = "CREATE TABLE $usertb( uid INT(20) AUTO_INCREMENT UNIQUE KEY NOT NULL,name VARCHAR(40),email varchar(40) PRIMARY KEY NOT NULL)";
}
$typetb1 = mysql_query("select 1 from $typetb LIMIT 1");
if( $typetb1 !== FALSE)
{
$sql1 = "CREATE TABLE $typetb( uid INT(20) NOT NULL, type ENUM('QUERYHOMEWEB','QUERYHOMEAPP','ANSWERCART') NOT NULL ,unsubscribe TINYINT(1) NOT NULL,bounce TINYINT(1) NOT NULL,complaint TINYINT(1) NOT NULL, PRIMARY KEY (uid,type), FOREIGN KEY(uid) WHERE promo_user(uid))";
}
请告诉我这段代码有什么问题。
您需要更改SQL的CREATE TABLE
到CREATE TABLE IF NOT EXISTS
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
die('Failed to connect to server: ' . mysql_error());
exit;
}
$db_selected = mysql_select_db($dbname);
if(!$db_selected)
{
$db_selected = " CREATE DATABASE $dbname ";
}
$usertb1 = mysql_query("select 1 from $usertb LIMIT 1");
if( $usertb1 !== FALSE )
{
$sql = "CREATE TABLE IF NOT EXISTS $usertb( uid INT(20) AUTO_INCREMENT UNIQUE KEY NOT NULL,name VARCHAR(40),email varchar(40) PRIMARY KEY NOT NULL)";
}
$typetb1 = mysql_query("select 1 from $typetb LIMIT 1");
if( $typetb1 !== FALSE)
{
$sql1 = "CREATE TABLE IF NOT EXISTS $typetb( uid INT(20) NOT NULL, type ENUM('QUERYHOMEWEB','QUERYHOMEAPP','ANSWERCART') NOT NULL ,unsubscribe TINYINT(1) NOT NULL,bounce TINYINT(1) NOT NULL,complaint TINYINT(1) NOT NULL, PRIMARY KEY (uid,type), FOREIGN KEY(uid) WHERE promo_user(uid))";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.