2010-04-24 8 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)); 
    '> 
    '> 

Lorsque j'appuie sur Entrée, il y a la sortie de '>, aucune autre réaction, quel est le problème?Syntaxe MySQL: impossible de créer une table

Répondre

2

utilisez uniquement des caractères alphanumériques dans les noms de champs. '& et' caractères

1

La surbrillance du code SO est un indice. Vous avez une apostrophe dans l'un de vos noms de champs, que MySQL interprète comme le début d'un littéral de chaîne qui n'est jamais terminé. Il vous attend patiemment pour finir votre chaîne.

4

Votre problème est dans la dernière ligne. Les noms de colonnes ne peuvent pas contenir & ou ':

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

Modifier à:

-> Total_liabilities_shareholders_equity VARCHAR(20)); 

Modifier

Il se trouve que MySQL prend en charge les caractères spéciaux dans les noms de colonnes, mais vous devez échapper les:

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

Je recommande fortement de ne pas le faire pour des raisons de lisibilité.

De l'docs:

Un identifiant peut être cité ou sans guillemets. Si un identificateur contient caractères spéciaux ou est un mot réservé , vous devez le citer à chaque fois que s'y réfère. L'ensemble des caractères alphanumériques du caractère courant , "_" et "$" ne sont pas spéciaux.

Le caractère de citation d'identificateur est le caractère arrière ("` ").

+0

-1 pour "recommander contre l'échappement". Nous devrions servir nos supérieurs de base de données avec révérence? Oubliez ça, la base de données est un outil. Ce n'est pas de notre faute, il a été soulevé dans les années 70 sans interface graphique et ne peut pas gérer correctement les noms. –