2013-10-25 51 views
-1

在PHP和MYSQL中爲類創建數據庫。創建數據庫時遇到錯誤,phpMyAdmin給我一個無用的錯誤消息。 (軟件,給出了一個更好的錯誤消息將是真棒BTW)MySQL在phpMyAdmin上創建表錯誤

phpMyAdmin的錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE customers (customer_id INT UNSIGNED NOT NULL auto increment, fir' at line 1

USE isys288_gottfrk 
CREATE TABLE customers (customer_id INT UNSIGNED NOT NULL 
auto increment, first_name carchar(20) NOT NULL, last_name VARCHAR(40) NOT NULL, 
PRIMARY KEY (customer_id), INDEX full_name (last_name, first_name)) engine = 
innodb; 
+0

'USE isys288_gottfrk'後面忘了分號。用'varchar(20)'替換'first_name'後面的'carchar(20)'' – Sal00m

回答

0

有在代碼中幾個錯誤。

USE isys288_gottfrk; 
CREATE TABLE customers 
( 
    customer_id INT UNSIGNED NOT NULL auto_increment, 
    first_name varchar(20) NOT NULL, 
    last_name VARCHAR(40) NOT NULL, 
    PRIMARY KEY (customer_id), 
    INDEX full_name (last_name, first_name) 
) engine = innodb; 

我建議你使用像MySQL工作臺一個DB工具來生成你的表。然後你可以馬上看到問題。

+0

謝謝,雖然我不能直接使用Workbench連接到我的數據庫,但是:(它的腳本編輯器比waMayAdmin更好。 – Spitfire19

0

Juergen d編輯了你的格式化問題,這可能對你也有幫助:你的初始語句全部在一行上,所以錯誤被標記在那一行中。如果你用多行編輯它(比如在你的問題中,或者在他的回答中更好),你可能會得到更好的信息,例如一個標誌,包含carchar(20)行包含一個問題(它甚至更好,他已經在他回答的方式,但它正確地使用varchar(20),不下垂問題)

是的,它會如果錯誤信息立即會很好標記問題,但是有時當輸入格式更易於閱讀時,效果會更好。我測試過了多語句一樣,MySQL的聲明

ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for 
the right syntax to use near 'carchar(20) 
0

試試這個:

CREATE TABLE customers (
customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT 
, first_name VARCHAR (20) NOT NULL 
, last_name VARCHAR (40) NOT NULL 
, PRIMARY KEY (customer_id) 
, INDEX full_name (last_name, first_name) 
) ENGINE = INNODB ; 

你可以使用一些GUI客戶喜歡SQLyog這一點。