2010-05-14 2 views
1

Новое для SQL. Я ищу создать базу данных ИТ-активов. Вот одна из таблиц, созданных с помощью PHP:Что не так с синтаксисом SQL здесь?

mysql_query("CREATE TABLE software(
id VARCHAR(30), 
PRIMARY KEY(id), 
software VARCHAR(30), 
key VARCHAR(30))") 
or die(mysql_error()); 
echo "Software Table Created.</br />"; 

Это выход из браузера при запуске сценария:

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «VARCHAR (30))» по строке 5

Я запускаю стандартный стек LAMP на сервере Ubuntu 10.04.

спасибо.

ответ

9

ключ является зарезервированным словом. Если вам действительно нужно это имя, вы должны использовать котировки:

... `key` varchar(30) 
+0

Спасибо за быстрый ответ. Ценить это. –

1

KEY - зарезервированное слово в MySQL. Попытка выбрать другое имя для этого поля или вложить его в backtick символов.

1

попробуйте sw_key вместо ключа. Возможно, ключ является зарезервированным словом.

1

Я также хотел бы изменить строки

id VARCHAR(30), 
PRIMARY KEY(id), 

Для

id VARCHAR(30) PRIMARY KEY, 

сделать синтаксис более стандартный

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