解决办法:MySQL提示Column ‘content’ specified twice
翻译:
列“content”被使用了两次。
原因:
mysql类中有个方法insert,用于自动把POST的数据插入DB,并且只插入有值的列,所以需要从DB中把表的字段列表出来,使用的SQL为:
SELECT COLUMN_NAME AS col FROM `COLUMNS` WHERE TABLE_NAME = '$table' AND COLUMN_NAME <> 'id'
大家可能看到了,只指定了表名,却没有指定数据库,也就是说如果再有一个相同的DB的话,字段就是双份的了,问题也就在这里。昨天项目到了一个分水岭的位置就把DB这样给“备份”了一下,于是今天就出现了这个情况。SQL修正后为:
SELECT COLUMN_NAME AS col FROM `COLUMNS` WHERE 1 AND TABLE_NAME = '$table' AND TABLE_SCHEMA = '$tableSchema' AND COLUMN_NAME <> 'id'
解决办法:
文中已给出,自己寻找吧,^_^
<完>