【问题标题】:check the manual that corresponds to your MariaDB server version for the right syntax to use near '26 ( cid int(11) not null, ' at line 1 sql检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行 sql 的 '26 ( cid int(11) not null, ' 附近使用正确的语法
【发布时间】:2020-06-21 02:34:07
【问题描述】:

我正在创建一个网站,人们可以通过完成课程来学习编码,因此我需要一个仅用于一个用户的表格和一个用于所有用户信息的表格。当仅为用户创建表时(在 PHP 中),我从 PHP 中的 mysqli_error 函数中得到了这个错误:

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 1 行的 '30 ( cid int(100) not null, ' 附近使用的正确语法

代码如下:

create table $rowid (
    cid int(100) not null,
    com TEXT not null,
    page int(100) not null,
    title TEXT not null
);

我已将 rowid 变量设置为用户信息表中的 id。当我从 PHPMyAdmin 执行此操作(但将 rowid 替换为其他内容)时,它工作正常。
SQL 或 PHP 代码有什么问题?

【问题讨论】:

  • 还是不行。我没想到会因为我已经尝试过了
  • 错误说它与 cid 列有关
  • 上述脚本执行失败时$rowid的值是多少?
  • 检查 $rowid 的值,它在您的错误中显示 30。表名不能是数字
  • 这是一个糟糕的数据库设计。不要为每个用户创建表。这不是 RDBMS 的工作方式。

标签: mysql mariadb


【解决方案1】:

26 不是有效的表名。 “标识符可以以数字开头,但除非被引用,否则可能不仅仅由数字组成。”。有关标识符的更多信息,请参阅https://dev.mysql.com/doc/refman/8.0/en/identifiers.html。 PhpAdmin 可能会为您引用反引号。

【讨论】:

    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 2016-03-04
    相关资源
    最近更新 更多