MariaDB 未知语法错误。制作一个简单的表格[重复]
Posted
技术标签:
【中文标题】MariaDB 未知语法错误。制作一个简单的表格[重复]【英文标题】:MariaDB unknown syntax error. Making a simple table [duplicate] 【发布时间】:2020-08-19 07:14:57 【问题描述】:我找不到我的单表制作 sql 代码有什么问题。它所引用的“用户”确实存在。我收到的错误 是:
ERROR 1064 (42000) at line 1 in file: 'project.sql': 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 'order ( id integer(11) 主键 auto_increment, ordertyp' 在第 1 行
这是我的表格代码:
create table order (
id integer(11) Primary Key auto_increment,
ordertype varchar(255) not null,
timePlaced timestamp not null,
buyUser varchar(25),
sellUser varchar(25),
foreign key(buyUser) references user(username),
foreign key(sellUser) references user(username)
);
任何有帮助的,只是寻找一个简单的语法修复,谢谢!
【问题讨论】:
【参考方案1】:如果表名与关键字冲突或包含特殊字符,则必须引用表名:
create table `order` (...)
见:https://dev.mysql.com/doc/refman/8.0/en/keywords.html
【讨论】:
好吧,我真的不知道为什么我以前不必这样做。在同一个文件中,我创建了表而不引用表名。超级奇怪的东西,但谢谢! 因为order
是保留关键字。 ORDER BY ...
@MatthewJacobsen - 如果你引用表名,你将不得不在它被使用的任何地方引用它,这真的很快就变老了。我建议你把表的名字改成orders
。
太棒了,这回答了我的问题并消除了一些困惑。我不知道订单是关键字
@MatthewJacobsen 它用于订购(是)SELECT
查询的结果以上是关于MariaDB 未知语法错误。制作一个简单的表格[重复]的主要内容,如果未能解决你的问题,请参考以下文章
MariaDB/MySQL 中的 CREATE PROCEDURE 出现神秘错误