MySQL Create Table Error ?? Проблемы с версией может быть? - PullRequest
0 голосов
/ 15 апреля 2011

Я получаю следующее от mysql_error ():

В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с -> 'assets' ('assetid 'INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (' assemblytid <- в строке 1 </p> * 1005)*

Я также пробовал что-то вроде этого:

'assets' ('assetid' INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

... но безуспешно. Версия mysql 5.0.7.

РЕДАКТИРОВАТЬ:

На самом деле, я попробовал это без ('), прежде чем поместить его. Код динамический, но вот примеры:

CREATE TABLE 'assets' (
   'assetid' INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY('assetid'),
    'rfid' VARCHAR( 128 ) ,
    'createddate' DATE ,
    'modifieddate' DATE ,
    'curlocid' INT( 11 ) ,
    'type' VARCHAR( 128 ) ,
    'brand' VARCHAR( 128 ) ,
    'name' VARCHAR( 128 ) ,
    'condition' VARCHAR( 128 ) 
);

РЕДАКТИРОВАТЬ 2:

Только сейчас япопытался изменить все одинарные кавычки (') с обратными галочками (`) .. Произошла другая ошибка ..

Невозможно создать таблицу' mydb.assets '(номер ошибки: 121)

Это лучше или хуже?

РЕДАКТИРОВАТЬ 3:

Я пытался создать его, используя разные имена таблиц, и угадайте, что? Это работает! Черт возьми, почему я не могу создатьимя таблицы 'активами'? это потому, что есть некоторые остатки для предыдущей операции? если да, то как мне его почистить? что если я сказал, что я удаляю таблицу, удаливэто файл ?? (frm, myd, myi) (не бросать его из-за лени) .. как мне это исправить?

Ответы [ 4 ]

1 голос
/ 15 апреля 2011

Было бы полезно увидеть весь ваш код.

Бит, основываясь на том, что я вижу, вам нужно устранить все эти галочки.Это должно работать:

create table assets ( 
      assetid  int unsigned not null auto_increment primary key 
);

Я выполнил это нормально в MySQL Server 5.5

1 голос
/ 15 апреля 2011

хорошо, так что я не уверен, что здесь происходит, дорогая, но я скопировал и вставил ваш код и получил ту же ошибку, поэтому я копировал построчно, все еще ломался в местах, которые должны были быть, поэтому я печатал его построчно, пришлосьнемного поигрался, но я получил его тогда, кроме "условие", которое может быть зарезервированным словом, но я сокращаю его, вот что я получил

create table assets ( 
     assetid  int unsigned not null auto_increment,
    primary key(assetid),
    rfid varchar(128),
    createddate DATE,
    modifieddate DATE,
    curlocid INT(11),
    type varchar(128),
    brand varchar(128),
    name varchar(128),
    cond varchar(128)
);
0 голосов
/ 18 апреля 2011

Этот вопрос старый, но я просто расскажу, как решить эту проблему.В случае, если кто-то наткнулся на это .. В этом случае используется ДВИГАТЕЛЬ по умолчанию.До сих пор я не замечал, что используемый мной сервер (Z-WAMP) настраивает INNODB в качестве движка по умолчанию.После того, как я изменил его на MyISAM, который является движком по умолчанию для MySQL, все работает отлично!однако, спасибо за парней, которые помогают мне ..

В этом файле -> my.cnf, измените эту строку:

default-storage-engine=MyISAM
0 голосов
/ 15 апреля 2011

Я думаю, вам нужно использовать обратные тики (`) вместо одинарных кавычек (') при цитировании имен таблиц или столбцов.

...