2010-04-24 3 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 & 및 '

1

SO 코드 강조 표시는 힌트입니다. 필드 이름 중 하나에 아포스트로피가 있는데, MySQL은 종료되지 않는 문자열 리터럴의 시작으로 해석합니다. 참을성있게 당신의 끈을 완성하기를 기다리고 있습니다.

4

문제는 마지막 줄에 있습니다. 에

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

변경을 :

-> Total_liabilities_shareholders_equity VARCHAR(20)); 

편집

그것은 MySQL이 열 이름에 특수 문자를 지원하지 않습니다 밝혀,하지만 당신은 탈출해야한다 열 이름은 & 또는 '를 포함 할 수 없습니다 그들 :

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

가독성을 위해이 작업을하지 않는 것이 좋습니다. docs에서

:

식별자가 인용되거나 인용 부호가. 식별자에 특수 문자가 있거나 예약 된 단어 인 경우 을 참조 할 때마다 인용해야합니다. 현재 문자의 영숫자 문자 집합은 , "_"및 "$"는 특별하지 않습니다.

식별자 인용 문자는 역 따옴표 ("")입니다.

+0

-1 "탈주 권장 사항". 우리는 경건과 함께 우리의 데이터베이스 대 군단을 섬겨야합니까? 잊어 버리십시오, 데이터베이스는 도구입니다. GUI가없는 70 년대에 제기 된 우리의 잘못이 아니며 이름을 제대로 처리 할 수 ​​없습니다. –

관련 문제