为什么创建表时,1067 invalid defaultt value for

3564人阅读
mambo(5)
SQL=Invalid default value for 'rating_sum':- - - - - - - - - -# Table structure for table `mos_content_rating`CREATE TABLE `mos_content_rating` (& `content_id` int(11) NOT NULL default '0',& `rating_sum` int(11) unsigned NOT NULL default '',& `rating_count` int(11) unsigned NOT NULL default '0',& `lastip` varchar(50) NOT NULL default '',& PRIMARY KEY& (`content_id`)) TYPE=MyISAM= = = = = = = = = =
把你安装目录下的sql文件夹里的所有文件包含`rating_sum` int(11) unsigned NOT NULL default ''的改成`rating_sum` int(11) unsigned NOT NULL default '0'
因为在建表的时候设置rating_sum为不空,但却没给他付初值,在Mysql4中不提示错误,但在mysql5中提示
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:53450次
排名:千里之外
原创:26篇
转载:18篇
(2)(1)(2)(3)(6)(2)(1)(2)(1)(2)(10)(11)(1)为什么创建表时,Invalid default value for_百度知道
为什么创建表时,Invalid default value for
提问者采纳
就不要再设置 default 了。 mysql&gt问题1。 问题2; create table message1(; deault 修改为 default 问题3. 最后那个 key usrname(name,price) 暂时不明白咋用. 那个 name char(25) not null deault &#39.. 那个 id 已经是 auto_increment 自增列了;&#39.
来自团队:
其他类似问题
为您推荐:
default的相关知识
其他1条回答
默认值 的类型 不对,或超出范围
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 求解决Mysql建表时间默认值问题创建表是用的图形化工具,出错1067invaliddefault
求解决Mysql建表时间默认值问题创建表是用的图形化工具,出错1067invaliddefault
hugutianxia & &
发布时间: & &
浏览:68 & &
回复:2 & &
悬赏:0.0希赛币
求解决Mysql建表时间默认值问题!创建 表是
用的图形化工具,出错 1067 invalid default value for 'usetime'
usetime该列
为datetime类型 长度为0下面默认值是NOW()请问应该怎么修改,哪里出问题了
CREATE TABLE `aa`.`TableName1`(&
`nn` TIMESTAMP DEFAULT CURRENT_TIMESTAMP &)
huhailan & &
& & (0)(0)
引用你可以非常灵便地确定什么时候初始化和更新TIMESTAMP和对哪些列进行初始化和更新:·
你可以将当前的时间戳指定为默认值和自动更新的值。但只能选择一个,或者两者都不选。(不可能一个列选择一个行为而另一个列选择另一个行为)。·
你可以指定哪个TIMESTAMP列自动初始化或更新为当前的日期和时间。不再需要为第1个TIMESTAMP列。请注意下面讨论所信息只适用于创建时未启用MAXDB模式的表的TIMESTAMP列。(如上所述,MAXDB模式使列创建为DATETIME列)。控制TIMESTAMP列的初始化和更新的规则如下所示:·
如果一个表内的第1个TIMESTAMP列指定为一个DEFAULT值,则不能忽略。 默认值可以为CURRENT_TIMESTAMP或常量日期和时间值。·
DEFAULT NULL与第1个TIMESTAMP 列的DEFAULT CURRENT_TIMESTAMP相同。对于其它TIMESTAMP列,DEFAULT NULL被视为DEFAULT 0。·
表内的任何一个TIMESTAMP列可以设置为自动初始化为当前时间戳和/或更新。·
在CREATE TABLE语句中,可以用下面的任何一种方式声明第1个TIMESTAMP列:o
用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句,列为默认值使用当前的时间戳,并且自动更新。o
不使用DEFAULT或ON UPDATE子句,与DEFAULT CURRENT_TIMESTAMP ON UPDATECURRENT_TIMESTAMP相同。o
用DEFAULT CURRENT_TIMESTAMP子句不用ON UPDATE子句,列为默认值使用当前的时间戳但是不自动更新。o
不用DEFAULT子句但用ON UPDATE CURRENT_TIMESTAMP子句,列有默认值0并自动更新。o
用常量DEFAULT值,列有给出的 默认值。如果列有一个ON UPDATE CURRENT_TIMESTAMP子句,它自动更新,否则不。换句话说,你可以为初始值和自动更新的值使用当前的时间戳,或者其中一个使用,或者两个皆不使用。(例如,你可以指定ON UPDATE来启用自动更新而不让列自动初始化)。·
在DEFAULT和ON UPDATE子句中可以使用CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()或者NOW()。它们均具有相同的效果。两个属性的顺序并不重要。如果一个TIMESTAMP列同时指定了DEFAULT和ON UPDATE,任何一个可以在另一个的前面。例子,下面这些语句是等效的:CREATE TABLE t (ts TIMESTAMP);CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP);CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
DEFAULT CURRENT_TIMESTAMP);·
要为TIMESTAMP列而不是第1列指定自动默认或更新,必须通过将第1个TIMESTAMP列显式分配一个常量DEFAULT值来禁用自动初始化和更新。(例如,DEFAULT 0或DEFAULT' 00:00:00')。然后,对于其它TIMESTAMP列,规则与第1个TIMESTAMP列相同,例外情况是不能忽略DEFAULT和ON UPDATE子句。如果这样做,则不会自动进行初始化或更新。例如:下面这些语句是等效的:CREATE TABLE t (
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP);CREATE TABLE t (
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
DEFAULT CURRENT_TIMESTAMP);huhai2133 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&& 安装Magento报错:SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for ‘period’
安装Magento报错:SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for ‘period’
安装Magento报错:SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for &period&
在安装Magento ver 1.6.1.0的时候,每逢到设置好数据库,要继续下一步的时候,就会进入下面的一个错误页面,再怎么搞也过不去。
&There has been an error processing your request
Error in file: &C:\wamp\www\app\code\core\Mage\SalesRule\sql\salesrule_setup\upgrade-1.6.0.0-1.6.0.1.php& & SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for &period&
&#0 C:\wamp\www\app\code\core\Mage\Core\Model\Resource\Setup.php(645): Mage::exception(&Mage_Core&, &Error in file: &&)
&#1 C:\wamp\www\app\code\core\Mage\Core\Model\Resource\Setup.php(437): Mage_Core_Model_Resource_Setup-&_modifyResourceDb(&upgrade&, &1.6.0.0&, &1.6.0.1&)
&#2 C:\wamp\www\app\code\core\Mage\Core\Model\Resource\Setup.php(320): Mage_Core_Model_Resource_Setup-&_upgradeResourceDb(&1.6.0.0&, &1.6.0.1&)
&#3 C:\wamp\www\app\code\core\Mage\Core\Model\Resource\Setup.php(235): Mage_Core_Model_Resource_Setup-&applyUpdates()
&#4 C:\wamp\www\app\code\core\Mage\Core\Model\App.php(412): Mage_Core_Model_Resource_Setup::applyAllUpdates()
&#5 C:\wamp\www\app\code\core\Mage\Core\Model\App.php(338): Mage_Core_Model_App-&_initModules()
&#6 C:\wamp\www\app\Mage.php(640): Mage_Core_Model_App-&run(Array)
&#7 C:\wamp\www\index.php(80): Mage::run(&, &store&)
&#8 {main}
Error log record number:
解决方法:
1、打开/phpmyadmin/
2、打开magento程序所使用的数据库,我这里使用的数据库名也叫magento ,
3、打开表coupon_aggregated的表结构
4、更改period字段,把默认的值设置为&&,保存退出。如图2.
&查看更多精彩图片图2:更改period字段的默认属性
5、再打开magento安装页面,再进行一次安装步骤,这次就不会出问题了。
上面的所有步骤可以在MySQL控制台下使用一条命即可以完成
&mysql& alter table coupon_aggregated change period period DATE not null DEFAULT &&;
&Query OK, 0 rows affected (0.14 sec)
&Records: 0 Duplicates: 0 Warnings: 0
声明:未作说明,则本文为原创。转载务必注明出处。为什么创建表时,Invalid default value for,该怎么解决_百度知道
为什么创建表时,Invalid default value for,该怎么解决
提问者采纳
0 rows affected (0, -&gt.; price double not null default ', -& Query OK.09;' ), mysql& id int(4) not null auto_increment, -& primary key(id) -&, -& create table message1( -&gt.00' name char(25) not null default '0.您好
来自团队:
其他类似问题
为您推荐:
default的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 default value 的文章

 

随机推荐