用于创建表的PHP脚本

时间:2012-02-22 15:53:13

标签: php mysql create-table

我需要创建MySQL表。所以我正在运行这个脚本,但它只是不起作用。知道为什么吗?

<?php
$con = mysql_connect("database.dcs.aber.ac.uk","xxx","nnnnnnnnnn");
mysql_select_db("jaz",$con);
$sql = "CREATE TABLE storys
(
id int NOT NULL AUTO_INCREMET,
title TINYTEXT,
type TINYTEXT,
link TEXT,
preview TINYTEXT,
tags TINYTEXT,
text MEDIUMTEXT,
updated TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP,
created DATETIME() DEFAULT NULL,
PRIMARY KEY(id)
)";

mysql_query($sql,$con);

mysql_close($con);

?>

2 个答案:

答案 0 :(得分:4)

您的代码具有绝对无错误处理功能,可以向您显示查询失败的原因。

$con = mysql_connect(...) or die(mysql_error());

$res = mysql_query(...) or die(mysql_error());

是几乎每个mysql调用都应该具有的最小错误处理。

如果已经到位,你必须被告知:

id int NOT NULL AUTO_INCREMET,
                            ^---missing 'n', not a valid SQL keyword.

答案 1 :(得分:0)

在之前列出的问题中,您使用的是数据类型定义中的函数,并且“ON UPDATE”语法错误。

以下是我认为您在SQL中寻找的内容:

CREATE TABLE IF NOT EXISTS  `storys` (
 `id` INT NOT NULL AUTO_INCREMENT ,
 `title` TINYTEXT,
 `type` TINYTEXT,
 `link` TEXT,
 `preview` TINYTEXT,
 `tags` TINYTEXT,
 `text` MEDIUMTEXT,
 `updated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
 `created` DATETIME DEFAULT NULL ,
PRIMARY KEY ( id )
);