0

实际上这已经奏效了,我不知道我改变了什么,所以我现在遇到了这个问题。几乎什么都试过了。

案例:
我有以下查询。如果我要保存的内容是新的,则变量 $DB-id 是一个空字符串。字段 module_id 是我的主键。发生的情况是此查询始终使用 module_id => 0 更新行。

问题
传递一个空变量作为主键总是更新第 0 行而不是插入一个新的。

$this->db->query("INSERT INTO   modules_text 
                                (   
                                module_id,
                                module_content,
                                module_page_idx, 
                                module_post_id
                                )
                  VALUES        (
                                '{$DB_id}',
                                '{$content['text']}',
                                '{$content['idx']}',
                                '{$post_id}'
                                )
                  ON DUPLICATE KEY
                  UPDATE        module_content  = '{$content['text']}',
                                module_page_idx = '{$content['idx']}'
                ");

有人知道我如何告诉 MYSQL 创建一个新行吗???非常感谢任何帮助!!!!非常感谢!!!

萨卢多斯萨沙!

4

2 回答 2

1

您可能需要将主键字段设置为自动递增。下面是一个例子。

CREATE TABLE tablename (
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 name CHAR(30) NOT NULL,
 PRIMARY KEY (id)) 
于 2010-12-01T23:56:51.433 回答
-1

我会假设你需要给 UPDATE 一个 WHERE?
例如:

$this->db->query("INSERT INTO   modules_text 
                                (   
                                module_id,
                                module_content,
                                module_page_idx, 
                                module_post_id
                                )
                  VALUES        (
                                '{$DB_id}',
                                '{$content['text']}',
                                '{$content['idx']}',
                                '{$post_id}'
                                )
                  ON DUPLICATE KEY
                  UPDATE        `module_content`  = '{$content['text']}',
                                `module_page_idx` = '{$content['idx']}'
                  WHERE
                                `module_id` = '{$content['id']}'
                ");

不要强迫我xD,乍一看只是一个猜测。

于 2010-12-01T23:47:18.283 回答