Mysql CREATE TABLE语句中出现语法错误1064

Mysql CREATE TABLE语句中出现语法错误1064,mysql,Mysql,这是我到目前为止的MySQL代码: CREATE TABLE /*TABLE_PREFIX*/t_buttons ( fk_i_item_id INT NULL, fk_i_user_id INT NULL, b_email varchar(100) NOT NULL, b_type ENUM('buynow','addtocart','subscribe','donate') DEFAULT NULL, b_style ENUM ('default

这是我到目前为止的MySQL代码:

CREATE TABLE /*TABLE_PREFIX*/t_buttons (
    fk_i_item_id INT NULL,
    fk_i_user_id INT NULL,
    b_email varchar(100) NOT NULL,
    b_type ENUM('buynow','addtocart','subscribe','donate') DEFAULT NULL,
    b_style  ENUM 

('default','round','frame') DEFAULT NULL,
  b_target ENUM('_self','_blank') DEFAULT NULL,
  b_text varchar(100) NOT NULL,
  b_tooltip varchar(100) NOT NULL,
  b_shipping int(11) NOT NULL,
  b_a3 int(10) NOT NULL,
  b_p3 int(10) NOT NULL,
  b_t3 varchar(10) NOT NULL,
  b_a1 int(11) NOT NULL,
  b_p1 int(11) NOT NULL,
  b_t1 varchar(10) NOT NULL,
  b_cpp_logo_image varchar(100) NOT NULL,
  b_return varchar(100) NOT NULL,
  b_lc varchar(10) NOT NULL,

      PRIMARY KEY (fk_i_item_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在命令行上的MySQL中运行此代码会导致以下错误:

错误1064-SQL语法“创建表”中有错误 oc_t_按钮(第1行的fk_i_项目id INT NULL,fk_i_用户


看起来定义错误…您的错误是针对“oc_t_按钮”?

看起来您发布的错误与您显示的脚本不同。您发布的错误是

CREATE TABLE oc_t_buttons ( 
而您粘贴的实际脚本是

CREATE TABLE /*TABLE_PREFIX*/t_buttons (
这很好。下面是一个演示

即使脚本更改为

CREATE TABLE oc_t_buttons ( 
然后它也可以正常工作。请参阅您使用的

fk_i_item_id INT NULL
最后一行:

PRIMARY KEY (fk_i_item_id)
主键
不能允许
NULL
值。 您可以将其更改为:

`fk_i_item_id` int(11) NOT NULL Default '0'


适用于我:您的创建表语法是正确的,但表名将是t_按钮,直到您没有像我认为的那样传递其前缀…所以可能您没有正确传递前缀..首先只检查表名t_按钮,如果您能够创建表,那么您可以通过传递带表名的前缀来检查您的问题。
`fk_i_item_id` int(11) NOT NULL Auto_Increment