-1

在 PHP 和 MYSQL 中为类创建数据库。创建数据库时遇到错误,phpMyAdmin 给了我一个无用的错误消息。(提供更好的错误信息的软件会很棒顺便说一句)

phpMyAdmin 错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“CREATE TABLE 客户(customer_id INT UNSIGNED NOT NULL auto increment, fir”附近使用正确的语法

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;
4

3 回答 3

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

于 2014-01-29T08:24:56.663 回答
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)
于 2013-10-25T06:28:02.203 回答
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 Workbench这样的数据库工具来生成你的表。然后你可以马上看到问题。

于 2013-10-25T06:05:46.647 回答