【发布时间】:2013-11-07 22:48:07
【问题描述】:
我尝试创建一个字段为 TINYINT(1)、NOT NULL 和 -1 的 DEFAULT 值以指示“未知”,但我从客户那里收到此错误:
更改MyTable 时出错:您的SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法
我也尝试将长度设为 2 并得到相同的消息
猜测TINYINT 不是这种指定的正确数据类型,但什么是?
编辑:阅读 Ed Cottrell 的评论后,我得到了它的工作。我认为某处有一个额外的字符,这是我的客户(使用 Querious for Mac)生成的语句:
ALTER TABLE `DBName`.`MyTable`
CHANGE COLUMN `MyColumn` `MyColumn` TINYINT(1) NOT NULL DEFAULT -1 COMMENT ''
AFTER `MyOtherColumn`;
注意到那里有COMMENT,并确保一切都很干净。
其他 cmets 和答案表示赞赏;在这种情况下,我决定让NULL 表示未知
【问题讨论】:
-
我相信这个答案对你有用。 stackoverflow.com/questions/4401673/…
-
也许您应该使用可为空的字段,并将
null设置为未知? -
为什么不让
NULL代表未知? -
这听起来像是一个真正的错字;你能发布完整的
ALTER声明吗? -
@EdCottrell 我在问题中添加了声明,谢谢:)
标签: mysql sql database rdbms sqldatatypes