Кто-нибудь знает, что не так с этим оператором create для mysql?
Обновлено: теперь в нем говорится, что ошибка близка: исправленный VARCHAR (20), paypal_accept TINYINT, pre_terminat 'в строке 4
Спасибо всем за помощь
Все еще ошибки после использования sql beautifier, хотя
CREATE TABLE AUCTIONS (
ARTICLE_NO VARCHAR(20),
ARTICLE_NAME VARCHAR(100),
SUBTITLE VARCHAR(20),
CURRENT_BID VARCHAR(20),
START_PRICE VARCHAR(20),
BID_COUNT VARCHAR(20),
QUANT_TOTAL VARCHAR(20),
QUANT_SOLD VARCHAR(20),
START DATETIME,
ENDS DATETIME,
ORIGIN_END DATETIME,
SELLER_ID VARCHAR(20),
BEST_BIDDER_ID VARCHAR(20),
FINISHED VARCHAR(20),
WATCH VARCHAR(20),
BUYITNOW_PRICE VARCHAR(20),
PIC_URL VARCHAR(20),
PRIVATE_AUCTION VARCHAR(20),
AUCTION_TYPE VARCHAR(20),
INSERT_DATE DATETIME,
UPDATE_DATE DATETIME,
CAT_1_ID VARCHAR(20),
CAT_2_ID VARCHAR(20),
ARTICLE_DESC VARCHAR(20),
DESC_TEXTONLY VARCHAR(20),
COUNTRYCODE VARCHAR(20),
LOCATION VARCHAR(20),
CONDITION VARCHAR(20),
REVISED VARCHAR(20),
PAYPAL_ACCEPT TINYINT,
PRE_TERMINATED VARCHAR(20),
SHIPPING_TO VARCHAR(20),
FEE_INSERTION VARCHAR(20),
FEE_FINAL VARCHAR(20),
FEE_LISTING VARCHAR(20),
PIC_XXL TINYINT,
PIC_DIASHOW TINYINT,
PIC_COUNT VARCHAR(20),
ITEM_SITE_ID VARCHAR(20),
PRIMARY KEY ( `ARTICLE_NO` ));
Ошибка теперь рядом с 'CONDITION VARCHAR (20), REVISED VARCHAR (20), PAYPAL_ACCEPT TI' в строке 29
Я действительно не вижу, что не так, нужен ли TINYINT параметр?
Должны ли имена столбцов MYSQL быть заглавными?
@John Sheehan - удалите код, который не имеет значения. Показывайте только тот код, в котором есть реальная проблема, с которой вам действительно нужна помощь.
Выйти из редактирования вопроса. Сейчас ни один из ответов не имеет смысла. Если нужно редактировать, добавьте раздел обновлений.
Я голосую за закрытие вопроса и избавление от него. Возможно, начнем снова с более разумной версии.


«VARCHAR (20)» не присваивает имени.
watch VARCHAR(20), **????** VARCHAR(20),
auction_type VARCHAR(20),
Между часами и аукционом вы пропустили название столбца. Есть только varchar (20), либо удалите его, либо добавьте отсутствующее имя столбца.
Ответ об отсутствующем имени поля правильный (я бы проголосовал за него, если бы у меня был представитель), но я бы также рекомендовал разместить следующую строку после 'cat_2_id VARCHAR (20)':
PRIMARY KEY (`article_no`)
«Над моим» теряет контекст по мере того, как ваш ответ перемещается.
С конца:
pic_count VARCHAR(20),item_site_id);
item_site_id вроде не имеет типа. Дайте ему тип, и ваш запрос подтвердит ...
(Протестируйте здесь: http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl для поиска ошибок такого рода)
+1. Я тоже это видел и как раз собирался опубликовать.
Форматирование.
Совет: Код формата для удобочитаемости.
Я беру ваш код и применяю простое форматирование ...
CREATE TABLE auctions (
article_no VARCHAR(20),
article_name VARCHAR(100),
subtitle VARCHAR(20),
current_bid VARCHAR(20),
start_price VARCHAR(20),
bid_count VARCHAR(20),
quant_total VARCHAR(20),
quant_sold VARCHAR(20),
start DATETIME,
ends DATETIME,
origin_end DATETIME,
seller_id VARCHAR(20),
best_bidder_id VARCHAR(20),
finished VARCHAR(20),
watch VARCHAR(20),
buyitnow_price VARCHAR(20),
pic_url VARCHAR(20),
private_auction VARCHAR(20),
auction_type VARCHAR(20),
insert_date DATETIME,
update_date DATETIME,
cat_1_id VARCHAR(20),
cat_2_id VARCHAR(20),
article_desc VARCHAR(20),
desc_textonly VARCHAR(20),
countrycode VARCHAR(20),
location VARCHAR(20),
condition VARCHAR(20),
revised VARCHAR(20),
paypal_accept TINYINT,
pre_terminated VARCHAR(20),
shipping_to VARCHAR(20),
fee_insertion VARCHAR(20),
fee_final VARCHAR(20),
fee_listing VARCHAR(20),
pic_xxl TINYINT,
pic_diashow TINYINT,
pic_count VARCHAR(20),
item_site_id
);
... и сразу я вижу, что в item_site_id отсутствует тип данных.
Я считаю, что имена столбцов «START» и «CONDITION» - это «особые» слова в MySQL? Все, что я сделал, это просто вставил улучшенный код в браузер запросов и заметил, что имена некоторых столбцов были «синими» ...: P
Согласно списку Зарезервированные ключевые слова MySQL, CONDITION является зарезервированным ключевым словом, и вы должны экранировать его (используя обратные тики), чтобы использовать его в качестве имени объекта (например, таблицы, столбца и т. д.).
Я бы не рекомендовал использовать зарезервированное ключевое слово в качестве имени столбца (даже если вы его экранировали), потому что это вызовет всевозможные проблемы при написании запросов в будущем.
Сравните имена столбцов со списком зарезервированных слов MySQL:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
Вы увидите, что CONDITION - зарезервированное слово. Вы можете использовать зарезервированные слова MySQL для имен столбцов, но вы должны заключить их в обратные кавычки, чтобы четко указать MySQL, что вы не используете это слово в его обычном использовании.
. . .
LOCATION VARCHAR(20),
`CONDITION` VARCHAR(20),
REVISED VARCHAR(20),
. . .
Если вы не знаете, как его отформатировать, Джош, над текстовым полем сообщения есть кнопка «код» (выглядит как двоичная). Выберите свой код и нажмите эту кнопку. В противном случае пробелы не сохраняются должным образом.