2012-02-22 5 views
0

MySQL 테이블을 생성해야합니다. 그래서이 스크립트를 실행하고 있지만 작동하지 않습니다. 왜 그런가?테이블을 만들 PHP 스크립트

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

?> 
+0

이 줄을 추가'에코 mysql_error를() : 여기

내가 당신이 찾고있는 생각 SQL에 포함되는 것 나에게 그것이 무엇이든 출력한다면,이 라인은 보통 어떤 에러가 발생했는지 그리고 문제의 원인 일 가능성이 높다고 알려줍니다. –

+0

이것은 에러입니다 : SQL 구문에 오류가 있습니다. DATETIME() DEFAULT NULL, –

+0

DATETIME() 업데이트 된 TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP, 생성 된 DATETIME() DEFAULT NULL, 근처에 사용할 올바른 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. DEFAULT NULL,'ment to do? 데이트 필드를 원해? –

답변

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. 
0

, 당신은 데이터 유형 정의에서 함수를 사용하고, "ON UPDATE"구문이 잘못되었습니다 . 다음 전화`와,`라인`는 mysql_query ($의 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) 
); 
+0

thx하지만, 여전히 같은 오류. –

+0

어떤 MySQL 버전을 사용하고 있으며 오류 메시지를 다시 표시 할 수 있습니까? 그렇다면 정확하게 일치하는지 확인할 수 있습니까? –

+0

SQL 구문에 오류가 있습니다. 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', created' DATE 근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. –

관련 문제