草庐IT

Key_Return

全部标签

java - ON DUPLICATE KEY UPDATE 的准备语句语法(参数数量错误)

这是我正在尝试做的事情。如果主键(entity_id)存在,我想插入到这个表中或更新记录。我只是遇到SQL语法问题。它不会让我拥有比第一个“VALUES”数量更多的参数,所以我收到以下错误:参数索引超出范围(7>参数个数,即6)。intinsertOrUpdateSuccess=MyDBSyncher.UPDATE("INSERTINTO"+DB_NAME+".entities"+"(`entity_id`,`wai_type`,`wai_id`,`character_id`,`looted`,`creation_time`)"+"VALUES((?),(?),(?),(?),(?),

Java 和 SQL : return null or throw exception?

这是另一个有争议的主题,但这次我只搜索简单且记录在案的答案。场景:让我们假设以下方法:publicstaticHashtablegetSomeDogs(StringcolName,StringcolValue){Hashtableresult=newHashtable();StringBuffersql=null;Dogdog=null;ResultSetrs=null;try{sql=newStringBuffer();sql.append("SELECT*FROM").append("dogs_table");sql.append("WHERE").append(colName).

php - Symfony 3 Doctrine 组合键 : single id is not allowed on composite primary key in entity

我有一个实体integercolumn(compositeId)和一个stringcolumn(asin)我希望两列都作为复合键使用。所以我在文档中查看:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html但是当我尝试加载我的存储库时$myEntity=$em->getRepository(MyEntity::class);我收到此错误消息:singleidisnotallowedoncompositeprimarykeyinentit

mysql insert on duplicate key related deadlock

在日志中我有与此查询相关的死锁:INSERTINTO`driver_state`(id,state)VALUES('83799','waiting')ONDUPLICATEKEYUPDATEstate=IF(state='active',state,VALUES(state));确切错误:ER_LOCK_DEADLOCK:Deadlockfoundwhentryingtogetlock;tryrestartingtransaction我已尝试推理并理解此查询如何可能导致死锁,但还没有深入了解。表结构CREATETABLEIFNOTEXISTS`driver_state`(`id`int

mysql - key '6343' 的重复条目 'PRIMARY'

我在尝试向数据库添加记录时开始收到上述错误。相关列设置为“auto_increment”,数据类型为“INT”,长度为10。在线查看时,我发现当自动递增的列达到其上限时可能会发生此错误-但是在这种情况下,该表仅包含6342条记录,并且该列应该能够容纳更多记录。事实上,所讨论的应用程序在多个安装中使用,在某些情况下,具有相同结构的等效表具有比这更多的记录而不会产生错误。更奇怪的是,当我将此列的数据类型更改为“BIGINT”时,它解决了问题-即使在其他安装上它仍然与更多记录相同。任何人都可以提出可能发生此问题的任何原因吗?提前致谢。 最佳答案

java - 如何使用带有 MYSQL JDBC 驱动程序的 SimpleJdbcInsert 和 executeBatch 获取生成的 key ?

我想一次插入多条记录,并获取每条记录的id,它是自动递增的。我正在按照以下方式进行操作,但获取更新的行数而不是生成的键,在这种情况下为id。publicint[]addPersons(Listpersons){SqlParameterSource[]records=newBeanPropertySqlParameterSource[persons.size()];inti=0;for(Personperson:persons){records[i]=newBeanPropertySqlParameterSource(person);i++;}SimpleJdbcInsertinsert

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Cannot add or update a child row: a foreign key constraint fails

当我想插入一些数据时,我经常遇到错误项目类@Entity@NamedQueries({@NamedQuery(name="Project.findAll",query="SELECTpFROMProjectp"),@NamedQuery(name="Project.findByTitle",query="SELECTpFROMProjectpWHEREp.title=:title")})publicclassProjectimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatei

MySQL - ON 更新 CASCADE + foreign_key_checks = 0

我正在开发一种工具来合并两个具有相同架构但不同数据的数据库。其中一部分是将所有外键更改为ONUPDATECASCADE,然后递增所有主键以避免冲突并保持外键指针正常工作。我的问题是有时有一些孤立行的FK损坏,所以查询如下:UPDATEtablesetpk=pk+1000000失败是这样的:错误1452(23000):无法添加或更新子行:外键约束失败...(尽管我什至没有考虑触摸外键列!)我想通过以下方式关闭它:Setforeign_key_checks=0但是相关的外键没有更新。我做了一个快速测试,设置foreign_key_checks=0后级联不工作。有没有什么方法可以触发级联,或

php - MYSQL insert or update if exists on one-way composite primary key table 单向复合主键表

我有一个用户之间的友谊表,如下所示。CREATETABLEuser_relations(pkUser1INTEGERUNSIGNEDNOTNULL,pkUser2INTEGERUNSIGNEDNOTNULL,pkRelationsTypeTINYINTUNSIGNEDNOTNULL,PRIMARYKEY(pkUser1,pkUser2),FOREIGNKEY(pkuser1)referencesusers(ID),FOREIGNKEY(pkuser2)referencesusers(ID),FOREIGNKEY(pkRelationsType)referencesuser_relati

mysql - 代码点火器 : how to avoid db query returns last statement as key value

我在codeigniter中查询结果之前执行了几个查询:$sql_drop_temptable="...blabla...";$sql_prepare="itcreatesatemporarytable;whereIsumuplater...";$sql_summe="selectsec_to_time(sum(time_to_sec(summands)))fromworkday;";$query=$this->db->query($sql_drop_temptable);$query=$this->db->query($sql_prepare);$query=$this->db->q