【问题标题】:Can a primary key contain spaces in a database table?主键可以在数据库表中包含空格吗?
【发布时间】:2014-08-22 19:45:09
【问题描述】:

我正在开发的 DBMS 是 SQLite

主键可以包含空格吗?例如,是否可以将Chuck Norris Rules 保存为主键?或者您是否建议将其更改为Chuck_Norris_Rules

是否可以包含问号、感叹号等内容?

例如

Chuck Norris Rules? 可以接受吗?

谢谢

【问题讨论】:

  • 您可以在列名中包含空格 - 但如果您真的打算使用数据库并保持理智,您真的不应该这样做。
  • 可以但不是最佳实践
  • 是的,主键可以有空格。我不会这样做。个人习惯
  • 你说的是列名还是列中的样本数据?因为在列名中有空格会使事情变得复杂(我不会这样做),但作为一个字符串,值可以是任何东西,包括带空格的字符串。
  • 空格只是列值中的另一个字符。数据库值中的空格没有什么特别之处(从数据库的角度来看)。所以答案是:是的,绝对的。就DB而言,主键Artur Dentabcdefg没有区别。

标签: sql database sqlite


【解决方案1】:

主键可以包含任何东西

$ sqlite3
sqlite> create table t(pk primary key);
sqlite> insert into t values(null);
sqlite> insert into t values(1);                -- integer
sqlite> insert into t values(2.34);             -- real
sqlite> insert into t values('Hello, world!');  -- text
sqlite> insert into t values(x'f09f98bb');      -- blob
sqlite> select * from t;

1
2.34
Hello, world!
?

【讨论】:

  • 内容前后不能包含空格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
相关资源
最近更新 更多