下面是完整的查询:为什么只有一行插入到mysql表中?
INSERT IGNORE INTO db2.story (created, title, body)
SELECT
FROM_UNIXTIME(n.created),
n.title,
b.body_value
FROM db1.node n, db1.body_field b
WHERE n.nid= b.id and n.type IN ('story');
的查询返回完整的结果,但整个查询只是插入的第一行的选择部分。
这个查询有什么问题,以及如何解决它?
更新:这里是db2.story的结构:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(100) | NO | | NULL | |
| body | longtext | NO | | NULL | |
| teaser | longtext | NO | | NULL | |
| created | datetime | NO | | NULL | |
| visits | int(11) | NO | | NULL | |
| slug | varchar(100) | NO | UNI | NULL | |
+----------+--------------+------+-----+---------+----------------+
摆脱忽略并查看错误被抛出。可能是一个重要的违规,如重复密钥。如果性能不是问题,并且您想更新重复项,您可以随时进行REPLACE INTO – Ray 2015-01-20 19:18:48
当我摆脱IGNORE mysql投诉时:重复输入''作为关键'slug',这并不奇怪。 – supermario 2015-01-20 19:23:10
db2.story表上是否有主键?你能告诉我们'DESC db2.story'的输出吗? – 2015-01-20 19:32:52