2010-04-24 2 views
1
mysql> create table balance_sheet(
    -> Cash_and_cash_equivalents VARCHAR(20), 
    -> Trading_financial_assets VARCHAR(20), 
    -> Note_receivable VARCHAR(20), 
    -> Account_receivable VARCHAR(20), 
    -> Advance_money VARCHAR(20), 
    -> Interest_receivable VARCHAR(20), 
    -> Dividend_receivable VARCHAR(20), 
    -> Other_notes_receivable VARCHAR(20), 
    -> Due_from_related_parties VARCHAR(20), 
    -> Inventory VARCHAR(20), 
    -> Consumptive_biological_assets VARCHAR(20), 
    -> Non_current_asset(expire_in_a_year) VARCHAR(20), 
    -> Other_current_assets VARCHAR(20), 
    -> Total_current_assets VARCHAR(20), 
    -> Available_for_sale_financial_assets VARCHAR(20), 
    -> Held_to_maturity_investment VARCHAR(20), 
    -> Long_term_account_receivable VARCHAR(20), 
    -> Long_term_equity_investment VARCHAR(20), 
    -> Investment_real_eastate VARCHAR(20), 
    -> Fixed_assets VARCHAR(20), 
    -> Construction_in_progress VARCHAR(20), 
    -> Project_material VARCHAR(20), 
    -> Liquidation_of_fixed_assets VARCHAR(20), 
    -> Capitalized_biological_assets VARCHAR(20), 
    -> Oil_and_gas_assets VARCHAR(20), 
    -> Intangible_assets VARCHAR(20), 
    -> R&d_expense VARCHAR(20), 
    -> Goodwill VARCHAR(20), 
    -> Deferred_assets VARCHAR(20), 
    -> Deferred_income_tax_assets VARCHAR(20), 
    -> Other_non_current_assets VARCHAR(20), 
    -> Total_non_current_assets VARCHAR(20), 
    -> Total_assets VARCHAR(20), 
    -> Short_term_borrowing VARCHAR(20), 
    -> Transaction_financial_liabilities VARCHAR(20), 
    -> Notes_payable VARCHAR(20), 
    -> Account_payable VARCHAR(20), 
    -> Item_received_in_advance VARCHAR(20), 
    -> Employee_pay_payable VARCHAR(20), 
    -> Tax_payable VARCHAR(20), 
    -> Interest_payable VARCHAR(20), 
    -> Dividend_payable VARCHAR(20), 
    -> Other_account_payable VARCHAR(20), 
    -> Due_to_related_parties VARCHAR(20), 
    -> Non_current_liabilities_due_within_one_year VARCHAR(20), 
    -> Other_current_liabilities VARCHAR(20), 
    -> Total_current_liabilities VARCHAR(20), 
    -> Long_term_loan VARCHAR(20), 
    -> Bonds_payable VARCHAR(20), 
    -> Long_term_payable VARCHAR(20), 
    -> Specific_payable VARCHAR(20), 
    -> Estimated_liabilities VARCHAR(20), 
    -> Deferred_income_tax_liabilities VARCHAR(20), 
    -> Other_non_current_liabilities VARCHAR(20), 
    -> Total_non_current_liabilities VARCHAR(20), 
    -> Total_liabilities VARCHAR(20), 
    -> Paid_in_capital VARCHAR(20), 
    -> Contributed_surplus VARCHAR(20), 
    -> Treasury_stock VARCHAR(20), 
    -> Earned_surplus VARCHAR(20), 
    -> Retained_earnings VARCHAR(20), 
    -> Translation_reserve VARCHAR(20), 
    -> Nonrecurring_items VARCHAR(20), 
    -> Total_equity(non) VARCHAR(20), 
    -> Minority_interests VARCHAR(20), 
    -> Total_equity VARCHAR(20), 
    -> Total_liabilities_&_shareholder's_equity VARCHAR(20)); 
    '> 
    '> 

Когда я нажимаю enter, появляется вывод '>, никакой другой реакции, что не так?Синтаксис MySQL: не удается создать таблицу

ответ

2

использовать только буквенно-цифровые символы в именах полей. no & и 'characters

1

Подсветка кода SO - это подсказка. У вас есть апостроф в одном из ваших имен полей, который MySQL интерпретирует как начало строкового литерала, который никогда не прерывается. Он терпеливо ждет, пока вы закончите свою строку.

4

Ваша проблема в последней строке. Названия столбцов не могут содержать & или ':

-> Total_liabilities_&_shareholder's_equity VARCHAR(20)); 

Изменить его:

-> Total_liabilities_shareholders_equity VARCHAR(20)); 

Edit

Оказывается, что MySQL поддерживает специальные символы в именах столбцов, но вы должны бежать их:

-> `Total_liabilities_&_shareholder's_equity` VARCHAR(20)); 

Я настоятельно рекомендую не делать этого, хотя по соображениям удобочитаемости.

От docs:

Идентификатор может быть заключено в кавычки или кавычки. Если идентификатор содержит специальных символов или является зарезервированным словом , вы должны указывать его всякий раз, когда вы ссылаетесь на него . Набор буквенно-цифровых символов от текущего символа , «_» и «$» не являются особыми.

Идентификатор кавычки - это обратная сторона ("` ").

+0

-1 для "рекомендуем избегать". Мы должны уважать почтение наших баз данных? Забудьте, что база данных - это инструмент. Это не наша вина, что он был поднят в 70-е годы без GUI и не может правильно обрабатывать имена. –

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