插入mysql的具体情况

时间:2015-10-22 11:29:03

标签: php mysql sql

我在mysql中有一个奇怪的情况,所以我有表女巫有多个列,其中一个是具体的。此列为specific INT(10) UNSIGNED NOT NULL。 所以如果我在sql写: INSERT INTO infos_game (id_game,specific) VALUES (0, 12) ----不起作用 如果我写: INSERT INTO infos_game (id_game,``specific``) VALUES (0, 12) -----它有效,所以如果具体介于``工作正常。问题是什么 ?请帮帮我。 Thx提前。 如果是保留字,如何从php插入数据库,我试过:

$o_infos_game_user_registered = new \Entity\Cluster\InfosGame(array(
                        'id_game'        => $game->id_game,
                        'specific'    => $game->specific,
        ),
        );
        $o_infos_game_user_registered->save();

但是我收到了错误

2 个答案:

答案 0 :(得分:3)

似乎特定的是保留字。要使用保留字,您需要使用后退标记(``),否则查询将失败。

阅读材料

MySQL关键字 https://dev.mysql.com/doc/refman/5.5/en/keywords.html

点击CTRL + F,然后输入特定的,它会突出显示它。

答案 1 :(得分:0)

使用保留字执行查询可以通过3种不同的方式完成

1)将列重命名为非保留字

ALTER TABLE "table_name" RENAME COLUMN "column 1" TO "column 2";

2)在查询中使用反向标记(``)

INSERT INTO infos_game (`id_game`,`specific`) VALUES (0,12)

3。使用插入而不指定列(当您插入包含所有列的数据时)

//old query
INSERT INTO infos_game (id_game,specific) VALUES (0, 12)
//new query
INSERT INTO infos_game VALUES (0, 12)