当我创建一个需要用户定义的排序的新表时,我的第一个想法总是转到列名"order".当然,这不是好事,因为它是一个保留字.
您在数据库模型中为该列提供了哪个名称?
谢谢你的帮助.
CIR*_*CLE 79
我用"位置"代替"订单"
小智 11
只需在表和列的名称周围添加刻度线',例如:
CREATE TABLE `order`
(
`order#` char(4) NOT NULL,
`ord_date` DATE,
Primary Key (`order#`)
)
ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
这允许使用特殊字符和关键字,至少这适用于当前版本的MySql.
在 ANSI/ISO SQL 中,双引号用作列名时分隔关键字;字符串文字由单引号分隔:
select "from" = 'from' from foo
Run Code Online (Sandbox Code Playgroud)
Microsoft SQL Server 还允许使用方括号代替双引号:
select [from] = 'from' from foo
Run Code Online (Sandbox Code Playgroud)
但无论哪种方式,它都会使您的代码变得一团糟(尝试将上面的内容读给某人听。)
如果我需要一个列来对结果进行排序,我通常将其称为“sequence_number”或“sort_sequence”。
SQL Server 至少允许您使用用方括号括起来的关键字,尽管我同意这不是一个好主意。
我相信上次执行此操作时,我使用了 SortOrder 作为名称。但是,我经常使用反映表的前缀,例如 UsrSortOrder,因此这并不总是一个问题。
归档时间: |
|
查看次数: |
30733 次 |
最近记录: |