MySQL中的'default'varchar(255)是什么意思?
我在MySQL脚本中遇到了这一行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中实现这一点?它会在表中创建一个名为
`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,并且默认为空字符串
这里没什么特别的。。。只是普通的OLESQLSQLServer使用括号表示保留字。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。谢谢你提供的信息。它实际上是一个使用该列名的扩展名。如果我改变它,我必须进入源代码内部,看看它发生在哪里,然后重命名它。我想我会保持原样。事实上,我认为它有特殊的属性,这就是为什么我感到困惑。再次感谢所有的贡献者,谢谢你提供的信息。它实际上是一个使用该列名的扩展名。如果我改变它,我必须进入源代码内部,看看它发生在哪里,然后重命名它。我想我会保持原样。事实上,我认为它有特殊的属性,这就是为什么我感到困惑。再次感谢所有做出贡献的人。