`

mysql使用insert into select时候遇到的bug

阅读更多

 

Mysql version: 5.0.45,数据迁移的时候遇到的问题(EMS SQL Manager2007 for Mysql)。

 

描述如下:

 

两个库A、B,两张表:A.tbl1、B.tbl2

表结构如下:

       A.tbl1:  必须字段:id(PK),name;非必须字段gender

       B.tbl2:必须字段:id(PK),name,status; 非必须字段gender

   其中,status字段default=0;

 

 

在EMS中将数据从A迁入B的时候,采用如下语句:

 

       INSERT INTO B.tbl2 (id, name, gender) SELECT id,name,gender FROM A.tbl1;

 

执行上述语句的时候,返回执行成功的记录条数,就是查不出迁入的记录。也不报错!

 

      正确: INSERT INTO B.tbl2 (id, name, gender,status) SELECT id,name,gender,0 FROM A.tbl1;    

 

 

      TNND,尽然不报错!!!

 

 

     另外,正确执行迁入后,在EMS中还差不错结果,但是已经不能再继续插入,主键冲突。但是在Mysql Query Browser中就可以查询。EMS 的记录查询缓存机制有哪位仁兄能够赐教一二?

 

 

分享到:
评论

相关推荐

    MySQL命令.txt

    - `GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'user1'@'localhost' IDENTIFIED BY "password1";`:此命令用于授予用户`user1`在本地主机上对所有数据库的所有表的查询、插入、更新和删除权限,并设置其密码为...

    mysql-essential-5.0.27-win32.rar

    了解基本的SQL命令,如`CREATE DATABASE`、`SELECT`、`INSERT INTO`、`UPDATE`和`DELETE`,是必要的。 此外,理解MySQL的权限系统也很重要,包括用户账户、权限和角色。MySQL使用GRANT和REVOKE命令来管理用户访问...

    MYSQL简单指令-常用

    使用`INSERT INTO [table_name] VALUES()`来添加数据,如: ``` INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com'); ``` 8. **查询数据**: `SELECT * FROM [table_name]`将返回...

    Qt实现MySQL数据库读写

    query.prepare("INSERT INTO users (username, password) VALUES (?, ?)"); query.addBindValue("newuser"); query.addBindValue("secret"); if (!query.exec()) { qDebug() 插入失败:" ().text(); } ``` 4....

    mysql5.5-5.6性能调优最优文档

    - **查询优化**:例如,使用`SELECT * FROM bf_bug_info ORDER BY id DESC`来按ID降序排序查询所有记录。在实际应用中,应尽量避免使用`SELECT *`,而明确指定所需列以减少不必要的数据传输。 - **模糊查询**:`...

    mysql-essential-6.0.11-alpha-win32

    - 插入数据:使用`INSERT INTO`语句将数据插入表中。 - 查询数据:`SELECT`语句用于从数据库中检索数据。 - 更新和删除:`UPDATE`和`DELETE`语句分别用于修改和删除已有记录。 8. **性能优化**: - 索引:创建...

    mysql-connector-java-5.1.40-bin.jar.tar.gz

    6. 使用Hive的`CREATE TABLE AS SELECT`语句,将Hive的数据导出到MySQL,或者使用`INSERT INTO TABLE`语句将MySQL的数据导入Hive。 通过以上步骤,你可以成功地在Hive和MySQL之间建立数据通道,实现数据的双向流动...

    燕十八mysql笔记.doc

    例如,`SELECT`语句用于查询数据,`INSERT INTO`用于插入新数据,`UPDATE`用于修改已有数据,而`DELETE FROM`用于删除数据。 4. MySQL特点: MySQL与Linux、Apache、PHP(LAMP架构)配合紧密,是Web开发中常见的...

    MySql常用操作1

    INSERT INTO MerchantInfo_ID_Numbering (create_by,create_date) VALUES ('liuyanwei', '2014-02-09'); ``` 这里插入了一条记录到`MerchantInfo_ID_Numbering`表中。 #### 查询数据 从表中检索所有数据: ```sql ...

    lua-sql 插件(支持mysql)

    conn:execute('INSERT INTO users VALUES (1, "John Doe")') ``` 查询数据: ```lua local cursor, err = conn:execute('SELECT * FROM users') if cursor then local row = cursor:fetch({}, 'a') while row do...

    mysql常用语句和命令

    INSERT INTO stu (id, name, gender, birthday, score) VALUES (1, '张三', '男', '2000-01-01', 85); ``` 向`stu`表中插入一条新记录,需要注意的是每个字段的值都必须符合定义的格式。 **5. 插入多条记录:** ```...

    sql数据库连接.zip

    int rowsAffected = stmt.executeUpdate("INSERT INTO mytable VALUES ('data')"); ``` 5. **处理结果集**:如果执行的是查询语句,可以遍历ResultSet对象获取结果。 6. **关闭资源**:操作完成后,记得关闭...

    mysql-lesson-04-learning:MySQL第04课学习

    在MySQL中,虽然语法有所不同,但很多TSQL的核心概念依然适用,如SELECT、INSERT、UPDATE和DELETE语句用于数据查询和操作。 二、查询数据(SELECT语句) 在MySQL中,SELECT语句用于从数据库中检索数据。例如: ```...

    开源项目-zhuxiujia-GoMybatis.zip

    _, err = session.Insert("insert into user(name, age) values(?, ?)", newuser.Name, newuser.Age) if err != nil { panic(err) } ``` 5. 集成进Go应用: 将GoMybatis作为依赖引入项目,通过`go get`命令...

    图书管理系统 我是调试成功了 也是下别人的代码

    它支持常见的SQL语句,如CREATE TABLE用于创建表格,INSERT INTO用于插入数据,SELECT用于查询,UPDATE用于更新记录,以及DELETE用于删除数据。此外,它还具备用户权限管理、事务处理等高级特性,这对于一个图书管理...

    sqlite.JAR包

    - 插入数据:使用`INSERT INTO`语句将数据插入表中。 - 查询数据:通过`SELECT`语句获取表中的数据,可以配合`WHERE`子句进行条件筛选。 - 更新数据:使用`UPDATE`语句修改已存在的数据。 - 删除数据:利用`DELETE ...

    Python微博热搜榜信息爬取项目.zip

    你需要了解SQL语句,如CREATE TABLE用于创建表格,INSERT INTO用于插入数据,SELECT用于查询数据等。如果使用的是SQLite,Python的sqlite3模块将非常方便,可以直接在Python代码中执行SQL操作。 此外,项目可能还...

    数据库课程设计—图书管理系统

    例如,`SELECT`语句用于检索信息,`INSERT INTO`用于添加新记录,`UPDATE`用于修改现有记录,`DELETE FROM`用于删除记录。 5. **用户界面设计**:设计直观易用的图形界面,包括图书列表展示、搜索功能、添加/编辑/...

Global site tag (gtag.js) - Google Analytics