Что не так с моим синтаксисом SQL здесь? - PullRequest
1 голос
/ 14 мая 2010

плохо знаком с SQL. Я ищу, чтобы создать базу данных ИТ-активов. Вот одна из таблиц, созданных с помощью php:

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 Server 10.04.

Спасибо.

Ответы [ 4 ]

9 голосов
/ 14 мая 2010

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

... `key` varchar(30)
1 голос
/ 14 мая 2010

Я бы тоже поменял строки

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

К

id VARCHAR(30) PRIMARY KEY,

, чтобы сделать синтаксис более стандартным

1 голос
/ 14 мая 2010

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

1 голос
/ 14 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...