您的位置:首页 > 运维架构

使用Drupal的db_drop_primary_key方法删除主键出错

2017-09-19 15:31 351 查看
重构项目的时候在数据库中增加了一个字段,并要把该字段作为主键。由于原来已经存在主键值了,所以要在[.install]文件中打补丁。

db_drop_primary_key('question_analysis_stats_main_points_all');

db_add_primary_key('question_analysis_stats_main_points_all', array('pid', 'tid', 'cid','subject', 'weight', 'type'));

然后运行 run Updates,惊诧地出现了报错
Failed: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition;
there can be only one auto column and it must be defined as a key

既然db_drop_primary不行,就试着使用db_query()

db_query('ALTER TABLE question_analysis_stats_main_points_all DROP PRIMARY KEY ,ADD PRIMARY KEY (pid, tid, cid,subject, weight, type)');成功了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐