安装报错,Column not found: 1054 Unknown column 'catalog/category/remove' in 'where clause'

安装报错 · wm168 · 于 4年前 发布 · 1609 次阅读

cute SQL:

        ALTER TABLE  `admin_url_key` ADD UNIQUE (`url_key`) 
         ... done (time: 0.012s)
> execute SQL: 
        ALTER TABLE  `admin_role_url_key` ADD INDEX (  `role_id` )
         ... done (time: 0.014s)
> execute SQL: 
        update `admin_url_key` set url_key = "/catalog/category/remove" where url_key = "catalog/category/remove"

         ...Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog/category/remove' in 'where clause'

The SQL being executed was:

        update `admin_url_key` set url_key = "/catalog/category/remove" where url_key = "catalog/category/remove"
		
		是环境问题还是什么?求解,谢谢
共收到 7 条回复
1楼 已删除.
Fecmall#24年前 0 个赞

不明白,update语句,

https://github.com/fecshop/yii2_fecshop/blob/09c3e9e43807bff790286e28a1bed6b94dff8fc3/migrations/mysqldb/m181107_134125_fecshop_tables.php#L25

update `admin_url_key` set url_key = "/catalog/category/remove" where url_key = "catalog/category/remove"

在你哪里,怎么报错:.Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog/category/remove' in 'where clause'

'catalog/category/remove'这是update的,不是

这个update语句,是2018年写的sql,中间经过了很多版本,所以是没有问题的

你可以把这个sql,拿到mysql中执行试试,看看为什么报错。

wm168#34年前 0 个赞

wm168#44年前 0 个赞

wm168#54年前 0 个赞

表里面没有这条数据吧

wm168#64年前 0 个赞

把双引号改为单引号就不报错了

Fecmall#74年前 0 个赞

1.你什么版本的mysql? 很多人安装,怎么就你一人处这个问题

2.双引号也是可以运行的,为什么你的mysql不行?

Fecmall#84年前 0 个赞

一直怀疑你的mysql 参数配置导致的问题

找到原因了,参看这个帖子:https://www.cnblogs.com/thinksasa/archive/2013/05/15/3079961.html

1.设置SQL_MODE命令:

set session sql_mode='STRICT_TRANS_TABLES';

各种模式:

1.严格模式是指将SQL_MODE变量设置为STRICT_TRANS_TABLES或STRICT_ALL_TABLES中的至少一种。现在来看一下SQL_MODE可以设置的选项。

2.STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表(例如表的存储引擎为InnoDB)中,则中断当前的操作不影响非事务表(例如表的存储引擎为MyISAM)。

3.ALLOW_INVALID_DATES:该选项并不完全对日期的合法性进行检查,只检查月份是否在1~12之间,日期是否在1~31之间。该模式仅对DATE和DATETIME类型有效,而对TIMESTAMP无效,因为TIMESTAMP总是要求一个合法的输入。

4.ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它将被解释为识别符

你应该是启用ANSI_QUOTES了。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics