因此,我有一个表单可以通过ID(自动递增列(主键))从数据库获取数据,并通过值属性显示<input>
标记中的所有字段。当我提交表单时,我希望它可以插入一个新行,如果ID列中的ID尚不存在,并且它是否需要更新具有相同ID的行中的其余数据。SQL REPLACE INTO无法正常工作
我一直在试图研究这个,但似乎没有人做同样的事情,我试图做,它总是略有不同。我找到了REPLACE INTO并将其创建为如下形式:
$sqlString = 'REPLACE INTO coursework
SET cwID=`'. $cwID .'`,
cwTitle=`'. $cwTitle .'`,
cwContent=`'. $cwContent .'`,
cwProgress=`'. $cwProgress .'`,
cwDue=`'. $cwDue .'`;
所有$ cw []变量都是从$ _POST方法接收到的内容。
我不断收到一个错误代码:在“字段列表” 1054-未知列“6” - “未知列‘6’”是MySQL的尝试调用$ _ POST ['CWID $ CWID(价值'])而不是cwID列(这是我的表的主键)。我觉得我缺少一些简单而愚蠢的东西,但我从来没有使用过这种REPLACE INTO方法。
我看到一篇关于INSERT IGNORE INTO
和INSERT ... ON DUPLICATE KEY UPDATE
的帖子,但这些声音听起来都比我所寻找的更具破坏性。
我只是想确保如果cwID存在并且自动增量保持机智,或者如果没有ID添加新行,则更新表。我应该只是运行一个SELECT查询来查看它是否存在,并适当地插入/更新?
它是!我知道这是愚蠢的...非常感谢! – jbingman 2012-04-18 04:26:17