
mysql
MKalor
专注 | 冷静 | 耐心
展开
-
You can't specify target table 'test_user_table' for update in FROM clause
error:You can't specify target table 'test_user_table' for update in FROM clause原因:您不能在FROM子句中指定目标表“ test_user_table”进行更新,就是说查出来的id集合不能直接作为再去更新这个表的条件解决办法:将内层查询出的结果赋给一个变量集合,外层查询用这个自定义变量集合作为条件,即不会出错...原创 2019-12-30 15:11:53 · 387 阅读 · 0 评论 -
substring_index(str,delim,count) 截取字段中间信息
substring_index(str,delim,count) 函数的使用可以截取数据库字段中的待查询部分(中间信息)函数括号里面的依次为:要分隔截取的字符串(如:”aaa_bbb_ccc”)、分隔符(如:“_”)、位置(表示第几个分隔符处,如:“1”)。count为正数,那么就是从左边开始数,函数返回第count个分隔符的左侧的字符串;count为负数,那么就是从右边开始数,函数返回第co...转载 2019-12-16 16:36:23 · 1353 阅读 · 0 评论 -
mysql查询字段按分隔符一行分成多行语句
mysql查询字段d_path按下划线一行分成多行语句例 d_path:_0_1_2_3_4_5_SELECT DISTINCTd.id,substring_index(substring_index( d.d_path,'_',b.help_topic_id+1),'_',-1)FROMxxx_d_table dJOIN mysql.help...原创 2019-11-22 14:05:41 · 641 阅读 · 0 评论 -
Specified key was too long; max key length is 767 bytes
建表失败,报错:索引长度超过767bytes 如 id varchar(512) 长度为4*512=2048 > 767解决办法:> SET GLOBAL innodb_file_format = Barracuda;> SET GLOBAL innodb_large_prefix= ON;图:参考:http://www.voidcn.com/ar...原创 2019-08-10 15:09:25 · 148 阅读 · 0 评论 -
mysql insert 表数据 Duplicate entry'0' for key 'PRIMARY' 报错
测试功能需要 写了一个循环导入数据的存储过程想insert一些数据 ,要导入的表中 主键id为32位随机数 bigint(19) NOT NULL结果导入报错Duplicate entry'0' for key 'PRIMARY' 看起来像是主键重复原因分析:为了不让id重复 所以一不小心没有在insert语句中设置id , int型主键不允许为空的情况下会自动设置为0,存储...原创 2018-08-09 16:24:44 · 528 阅读 · 0 评论