2013-03-15 1 views
0

현재 ASP.NET 웹 사이트를 만들고 있습니다. Global.asax에는 존재하지 않는 테이블을 초기화하는 코드가 있습니다. 코드의 init blog_post 및 booked_dates 부분이 제대로 실행되어 테이블을 생성하지만 init image_info는 생성하지 않습니다. 그것들은 꽤 유사하며 MySQL 구문에 무엇이 잘못되었는지를 알 수 없습니다.유사한 CREATE TABLE이없는 경우 MySQL - CREATE TABLE이 오류를 발생시킵니다.

오류 메시지 :
SQL 구문에 오류가 있습니다. 도움을 사전에 제공하기위한 라인 1

 //init blog_post 
     using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `blog_post` (" + 
      "`id` INT AUTO_INCREMENT," + 
      "`header` VARCHAR(255)," + 
      "`bbcode` TEXT," + 
      "`author` VARCHAR(255)," + 
      "`time_posted` DATETIME, " + 
      "PRIMARY KEY(id));", con)) 
     { 
      cmd.ExecuteNonQuery(); 
      cmd.Dispose(); 
     } 

     //init booked_dates 
     using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `booked_dates` (" + 
      "`id` INT AUTO_INCREMENT," + 
      "`author` VARCHAR(255)," + 
      "`start_time` DATETIME," + 
      "`end_time` DATETIME," + 
      "`time_booked` DATETIME, " + 
      "PRIMARY KEY(id));", con)) 
     { 
      cmd.ExecuteNonQuery(); 
      cmd.Dispose(); 
     } 

     //init image_info 
     using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `image_info` (" + 
      "`id` INT AUTO_INCREMENT," + 
      "`author` VARCHAR(255)," + 
      "`file_name` TEXT," + 
      "`title` TEXT," + 
      "`album` TEXT, " + 
      "'description' TEXT, " + 
      "PRIMARY KEY(id));", con)) 
     { 
      cmd.ExecuteNonQuery(); 
      cmd.Dispose(); 
     } 
에서

감사 근처 ''설명 'TEXT, PRIMARY KEY (ID))를'사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인! 당신은 설명 ' 따옴표의 다른 세트를 사용하는

+0

global.asax에서 테이블을 만드는 것은 좋지 않습니다. – Sergio

답변

0

그것은 당신이 원하는 경우에 당신이 따옴표를 생략 할 수 있습니다,

`description` 

또는 description 이후 다른 하나는 예약어 아닙니다해야한다. 당신 쿼리해야합니다 :

using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `image_info` (" + 
      "`id` INT AUTO_INCREMENT," + 
      "`author` VARCHAR(255)," + 
      "`file_name` TEXT," + 
      "`title` TEXT," + 
      "`album` TEXT, " + 
      "`description` TEXT, " + 
      "PRIMARY KEY(id));", con)) 
+0

Works! 도와 주셔서 감사합니다! 나는 10 분 안에 대답을 수락 할 것이다. – Highace2

+0

@ Highace2, 오신 것을 환영합니다. – Habib

0

backticks

"`description` TEXT, " + 
0

"'description' TEXT, " + 다른 따옴표를 가지고 을 했어야 single quote

"'description' TEXT, " + 

대신 사용되어 있어야합니다!

1

작성 테이블 코드에 backticks을 사용하지 않았습니다.

"'description' TEXT, " 

"`description` TEXT, " 
0

인용/어쨌든 그들을 역 따옴표 필요가 없습니다해야합니다.

관련 문제