浏览模式: 普通 | 列表
11月, 2012 | 1

MySQL提示Column 'content' specified twice

[ 2012-11-29 08:44:59 | 作者: admin ]
翻译:

列“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
...

阅读全文…
1