MySQL Создать новую таблицу синтаксических ошибок

Я пытался создать новую таблицу со следующим фрагментом кода PHP / mysql:

                    $query = "CREATE TABLE IF NOT EXISTS :user (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
username CHAR(24),
summonername VARCHAR(16),
password VARCHAR(16),
region CHAR(3),
lvl INT(2) DEFAULT '0',
maxlvl INT(2),
status VARCHAR(20),
enabled INT(1) DEFAULT '1',
priority INT(1) DEFAULT '0',
note VARCHAR(150)
)
";

$query_params = array (
':user' => $user,
);

Если я выполню это, я получу некоторую синтаксическую ошибку:

Ошибка: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с » testuser ‘(id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY, используйте’ в строке 1

Это странно, потому что я проверил синтаксис согласно официальной документации (http://dev.mysql.com/doc/refman/5.1/de/create-table.html), а также некоторые пользовательские примеры.
Кроме того, есть ли способ установить кодировку таблицы по умолчанию в utf8 (не для каждой отдельной строки, а для глобальной)?

Я был бы рад, если бы кто-то мог сказать мне, как исправить там ошибки синтаксиса,

0

Решение

Вы не можете использовать параметры для метаданных. Вы также не должны создавать таблицы для каждого пользователя. Либо добавьте поле для хранения пользователя, либо очистите имя таблицы самостоятельно.

1

Другие решения

Со ссылкой на мой комментарий выше и в качестве примера …

 CREATE TABLE my_table(i INT(4) ZEROFILL NOT NULL PRIMARY KEY);

INSERT INTO my_table VALUES (1),(9),(10),(99),(100),(999),(1000),(9999),(10000);

SELECT * FROM my_table;
+-------+
| i     |
+-------+
|  0001 |
|  0009 |
|  0010 |
|  0099 |
|  0100 |
|  0999 |
|  1000 |
|  9999 |
| 10000 |
+-------+
0

пожалуйста, попробуйте этот запрос в создать таблицу

CREATE TABLE IF NOT EXISTS `user` (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
username CHAR(24),
summonername VARCHAR(16),
password VARCHAR(16),
region CHAR(3),
lvl INT(2) DEFAULT '0',
maxlvl INT(2),
status VARCHAR(20),
enabled INT(1) DEFAULT '1',
priority INT(1) DEFAULT '0',
)
0
По вопросам рекламы [email protected]