首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当后面跟着SELECT LAST_INSERT_ID时,插入不起作用

可能是由于以下几个原因:

  1. 数据库连接问题:首先需要确保数据库连接已经建立,并且连接是有效的。可以通过检查数据库连接的配置和连接状态来解决此问题。
  2. 数据库权限问题:如果用户没有足够的权限执行插入操作,那么插入将不起作用。需要确保用户具有适当的权限来执行插入操作。
  3. 数据表不存在:如果插入的数据表不存在,那么插入操作将不起作用。需要确保插入的数据表已经正确创建。
  4. 字段匹配问题:如果插入的数据与数据表的字段不匹配,那么插入操作将不起作用。需要确保插入的数据与数据表的字段一致,并且数据类型匹配。
  5. 数据库事务问题:如果插入操作在一个未提交的事务中,那么插入将不起作用。需要确保插入操作在合适的事务中执行,并且事务已经正确提交。
  6. 数据库引擎问题:某些数据库引擎可能不支持SELECT LAST_INSERT_ID语句。需要确保使用的数据库引擎支持此语句。

总结起来,当后面跟着SELECT LAST_INSERT_ID时,插入不起作用可能是由于数据库连接问题、数据库权限问题、数据表不存在、字段匹配问题、数据库事务问题或数据库引擎问题所导致的。解决此问题需要仔细检查并排除以上可能的原因。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MYSQL中获取得最后一条记录的语句

方法1:select max(id) from tablename 方法2:select last_insert_id(); 在MySQL中,使用auto_increment类型的id字段作为表的主键,...但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。这里面有个困 难,就是插入主表记录后,如何获得它对应的id。...答案之一是通过select LAST_INSERT_ID()这个操作。乍一看,它和select max(id)很象,但实际上它是线程安全的。也就是说它是具体于数据库连接的。...3、结果:在连接1中执行select LAST_INSERT_ID()得到的结果和连接2中执行select LAST_INSERT_ID()的结果是不同的;而在两个连接中执行select max(id)...注:使用select last_insert_id()要注意,一次插入多条记录,只是获得第一次插入的id值,务必注意!

4K30
  • 关于mysql自增id的获取和重置

    转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) ---- mysql获取自增id的几种方法 使用max函数:select max(id) from tablename...使用LAST_INSERT_ID函数:select LAST_INSERT_ID() 优点:获取到的是真正的自增id。 缺点:该函数是与table无关的,永远保留最新插入的自增列的id。...所以需要在插入之后调用。 使用@@IDENTITY变量:select @@IDENTITY 此方法和LAST_INSERT_ID()功能差不多,优缺点也一致。需要在插入后调用。...而且可以在语句后面加上where语句或者like语句来过滤。 缺点:该语句返回的是一个记录集,不能单独的返回自增值。所以需要额外的操作来获取。...如: select Auto_increment into autoId from information_schema.tables where Table_Schema = ‘dbname’

    11.6K20

    Mysql 基础篇

    | 5 | | abced | 6 | +--------+--------------+ 4 rows in set (0.00 sec) 我们看到后面的空格别去掉了...动态表记录的是不固定的长度的,这样可以减少存储空间,但是频繁的删除和插入会产生很多碎片,需要定时使用OPTIMIZE TABLE 或者使用myisamchk-r命令改善性能,并且故障恢复相对比较困难。...我们现在看一下他的一些特性 自动增长列 他的自动增长列可以手动插入插入的是空或者是0的时候,他会自动+1,默认是从0开始,我们也可以使用alter table *** auto_increment...()查询最后一次插入的值,插入多条数据的时候,返回第一条记录的自动增长的值, mysql> insert into test values (4,'wangwu'); Query OK, 1 row...affected (0.01 sec) mysql> select last_insert_id(); +------------------+ | last_insert_id() | +----

    69820

    【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)

    https://blog.csdn.net/huyuyang6688/article/details/51428427   向数据库中插入数据,大多数情况都会使用自增列或者UUID做为主键。...主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A、B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据需要用到A的主键。...数据库为mysql ---- 主键为自增(主键为数值类型且自增)   利用mysql的LAST_INSERT_ID()方法获取插入记录的主键,select LAST_INSERT_ID()可以在插入数据后...order: 标签内的sql语句相对于insert语句的执行顺序,AFTER表示select LAST_INSERT_ID() 这个语句将在insert语句之后执行。...主键为UUID(主键必须为字符类型)   使用mysql的方法UUID()方法获取随机的UUID作为主键,select UUID()可以在插入数据前,生成随机的UUID并通过keyProperty赋值给将要插入记录的主键

    2K20

    《MySQL核心知识》第9章:函数

    查看已经插入的数据可以发现,最后一条插入的记录的ID字段值为2,使用LAST_INSERT_ID()查看最后自动生成的ID值 SELECT LAST_INSERT_ID() 可以看到,一次插入一条记录...在向数据表插入一条记录LAST_INSERT_ID()返回带有AUTO_INCREMENT约束的字段最新生成的值2;继续向表 中同时添加3条记录,这时候因为使用一条INSERT语句插入多个行时,LAST_INSERT_ID...只返回插入的第一行数据 产生的值,在这里为第3条记录。...之所以这样,是因为这使依靠其他服务器复制同样的INSERT语句变得简单 TIPS:LAST_INSERT_ID是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID返回表...[aaa] 加密函数 1、加密函数PASSWORD(STR) PASSWORD(STR)从原文密码str计算并返回加密后的密码字符串,参数为NULL,返回NULL SELECT PASSWORD

    1K10
    领券