0

我一直在为我的公司创建一些基本表格,并遇到了这个小问题。

当我使用普通名称(例如 hello 等)提交此代码时,它可以正常工作,但是当我将表称为“内部”或“内部”时,它不想工作。

$con = mysqli_connect($hostname, $username, $password, $db_name) or die(mysql_error()); 
if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
mysqli_query($con,"CREATE TABLE inner   ( 
                                            inner_pck_dimension             varchar                         (14),
                                            inner_pck_weight                Int                             (5),
                                            inner_pck_barcode               varchar                         (15),
                                            inner_package_paper             Int                             (5),
                                            inner_package_plastic           Int                             (5),
                                            inner_package_other             varchar                         (20)
                                        )");
    echo "Table Created";

谁能告诉我这是为什么?我唯一的假设是 inner 是连接的保留字。

4

2 回答 2

3

Inner 可能只是一个保留字(参见“inner join”)。使用反引号来解决这个问题(“ `inner` ”)

于 2013-10-24T11:51:32.643 回答
1

是的,我建议不要使用保留字作为表名,但如果启用了 ANSI SQL 模式,通常可以使用“inner”或反引号使用“inner”来规避这一点

从这个答案转述的答案

于 2013-10-24T11:53:17.353 回答