Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中的'default'varchar(255)是什么意思?_Mysql_Sql Server_Database - Fatal编程技术网

MySQL中的'default'varchar(255)是什么意思?

MySQL中的'default'varchar(255)是什么意思?,mysql,sql-server,database,Mysql,Sql Server,Database,我在MySQL脚本中遇到了这一行 `other_validator` varchar(5000) NOT NULL DEFAULT '', `default` varchar(255) NOT NULL DEFAULT '', `widget` varchar(255) NOT NULL DEFAULT '', 这条线意味着什么 `default` varchar(255) NOT NULL DEFAULT '', 如何在SQL Server中实现这一点?它会在表中创建一个名为

我在MySQL脚本中遇到了这一行

 `other_validator` varchar(5000) NOT NULL DEFAULT '',
   `default` varchar(255) NOT NULL DEFAULT '',
  `widget` varchar(255) NOT NULL DEFAULT '',
这条线意味着什么

`default` varchar(255) NOT NULL DEFAULT '', 

如何在SQL Server中实现这一点?

它会在表中创建一个名为“default”的字段,该字段的类型为VARCHAR,长度最多为255个字符。如果在INSERT中没有为其赋值,则它不能为NULL,并且默认为空字符串


这里没什么特别的。。。它在表中创建一个名为“default”的字段,该字段的类型为VARCHAR,长度最多为255个字符。如果在INSERT中没有为其赋值,则它不能为NULL,并且默认为空字符串


这里没什么特别的。。。只是普通的OLESQL

SQLServer使用括号表示保留字。e、 g.[违约]


但是:请不要这样做。每当您忘记引用没有括号的列或表时,都会出现非常严重的错误

SQL Server使用括号表示保留字。e、 g.[违约]


但是:请不要这样做。每当您忘记引用没有括号的列或表时,都会出现非常严重的错误

您看到的列名称不正确。请尝试为列选择更具描述性的名称。如果您这样做,其他开发人员的境况会更好

可以对SQL Server使用方括号分隔符

CREATE TABLE foo (
    [defaultXyz] varchar(255)
)
SQL Server将允许您仅使用方括号为列指定此名称。不要这样做。这就像给一个孩子取名为“Kid”


您看到的列名称不好。请尝试为列选择更具描述性的名称。如果您这样做,其他开发人员的境况会更好

可以对SQL Server使用方括号分隔符

CREATE TABLE foo (
    [defaultXyz] varchar(255)
)
SQL Server将允许您仅使用方括号为列指定此名称。不要这样做。这就像给一个孩子取名为“Kid”



这意味着您有一个名为default的列,这是大多数RDBMS不允许的,因为它是一个保留字。在我看来,这似乎只是一个字段名,但错误地使用了reserve关键字。@Paul:大多数RDBMS都会允许您使用保留字作为标识符或列名;您需要使用适当的字符将它们括起来。有些程序员更进一步,用适当的分隔符将几乎每个列名括起来。当然,只要用x字符将字段括起来,就可以将所有字段都设为空。这不是一个好主意。这意味着您有一个名为default的列,这是大多数RDBMS不允许的,因为它是一个保留字。对我来说,这似乎只是一个字段名,但错误地使用了reserve关键字。@Paul:大多数RDBMS都会很高兴地允许您使用保留字作为标识符或列名;您需要使用适当的字符将它们括起来。有些程序员更进一步,用适当的分隔符将几乎每个列名括起来。当然,只要用x字符将字段括起来,就可以将所有字段都设为空。这不是一个好主意。好吧,除了大多数其他RDBMs不允许您使用'default'作为字段名之外,因此它不会移植到SQL Server。@Paul:移植很好,只要您用括号[default]替换掉'default'的反引号,这就证明了我的观点,对于一个列来说,默认值是个坏名字。@Paul:当然是,这是没有争议的。只是指出默认值在MySQL中也是保留的——不仅仅是其他DBMS。好吧,除了大多数其他RDBMs不允许您使用“default”作为字段名之外,因此它不会移植到SQL Server。@Paul:只要您用括号:[default]替换反引号'default',这就证明了我的观点,对于一个列来说,默认值是个坏名字。@Paul:当然是,这是没有争议的。只是指出默认值也保留在MySQL中,而不仅仅是其他DBMS。谢谢你提供的信息。它实际上是一个使用该列名的扩展名。如果我改变它,我必须进入源代码内部,看看它发生在哪里,然后重命名它。我想我会保持原样。事实上,我认为它有特殊的属性,这就是为什么我感到困惑。再次感谢所有的贡献者,谢谢你提供的信息。它实际上是一个使用该列名的扩展名。如果我改变它,我必须进入源代码内部,看看它发生在哪里,然后重命名它。我想我会保持原样。事实上,我认为它有特殊的属性,这就是为什么我感到困惑。再次感谢所有做出贡献的人。