2012-02-22 4 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(); 'ниже строки' mysql_query ($ SQL, $ жулик) ', а затем тел я, если он выводит что-либо, эта строка обычно сообщает вам, какая ошибка возникает, и, скорее всего, причина вашей проблемы –

+0

это ошибка: У вас есть ошибка в синтаксисе SQL. Проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ним) ON UPDATE CURRENT_TIMESTAMP, созданный DATETIME() DEFAULT NULL, –

+0

Что это за строки: 'обновленный TIMESTAMP() В UPDATE CURRENT_TIMESTAMP, создан DATETIME() DEFAULT NULL, что делать? вам нужно поле даты? –

ответ

4

Ваш код имеет абсолютную обработку ошибок NO, которая показала бы вам причину сбоя запроса.

$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» неправильно ,

Вот что я думаю, что вы ищете в 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. Проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 'created' DATE –

Смежные вопросы