mysql的1136错误

MySQL1136错误,因为插入的数据数量与表的字段数量不一致。
参考资料如下:

MySQL是瑞典公司MySQLAB开发的关系型数据库管理系统,目前是Oracle的产品。
MySQL是最流行的关系数据库管理系统。

MySQL是WEB应用方面最好的RDBMS(关系数据库管理系统)应用软件之一。

MySQL是一个关系数据库管理系统。
关系数据库将数据存储在不同的表中,而不是将所有数据放在一个大型仓库中,这提高了速度和灵活性。

MySQL使用的SQL语言是访问数据库最常用的标准化语言。
MySQL软件采用双重许可政策。
分为社区版和商业版。
由于MySQL体积小、速度快、总体拥有成本低,尤其是开源,通常选择MySQL作为小型网站开发的网站数据库。
和中型网站。

详细信息:

解决方案

1.首先进入node2,搜索/etc/ntp.conf,如图。

2.您可以使用根目录进行编辑或右键单击打开它。

3.选择记事本,如下图所示。

4.添加以下代码##addforracserver127.127.1.0fudge127.127.1.0stratum11driftfile/var/lib/ntp/driftbroadcastdelay0.008并保存更改,如图所示。

5.同样,进入node1编辑/etc/ntp.conf,添加代码,如图。

6.调整节点2安装数据库的时间,使其比节点1快,并输入两个节点运行:#/etc/init.d/ntpdstartup用于NTP服务启动。
就完成了,如图所示。

mysql错误号1045

修改config.php以匹配您的数据库MYSQL常见错误代码!错误1016:无法打开文件。
使用后台恢复或phpmyadmin进行恢复。
错误1044:数据库用户权限不足。
请联系您的空间提供商来解决问题。
错误1045:无效的数据库服务器/数据库用户名/数据库名称/数据库密码请联系您的空间提供商进行验证。
错误1054:程序文件与数据库冲突。
请上传正确的程序文件进行覆盖。
错误1146:数据表不存在。
恢复您的备份数据。
1005:创建表失败。
1006:创建数据库失败。
1007:数据库已存在。
创建数据库失败。
1008:数据库不存在。
失败的。
数据库删除1009:数据库删除失败,因为无法删除数据库文件。
1010:数据库删除失败,因为无法删除数据目录。
1011:删除数据库文件失败。
1012:无法从系统表中读取记录。
1020:另一用户修改了记录。
1021:硬盘剩余空间不足。
请增加硬盘上的可用空间。
1022:关键字重复,更改记录失败1023:关机期间发生错误。
1024:读取文件时发生错误。
1025:更改名称时发生错误。
1026:文件写入错误1032:记录不存在。
1036:数据表是只读的,不能修改。
1037:系统内存不足。
重新启动数据库或服务器。
1038:内存不足,无法排序。
增加排序缓冲区。
1040:已达到数据库连接的最大数量。
增加数据库可用的连接数。
1041:系统内存不足。
1042:主机名无效。
1043:无效连接。
1044:当前用户没有访问数据库的权限。
1045:无法连接到数据库、用户名或密码。
错误1048:字段不能为空。
1049:数据库不存在。
1050:数据表已存在。
1051:数据表不存在。
1054:字段不存在。
1065:无效的SQL语句,SQL语句为空。
1081:无法建立套接字连接。
1114:数据表已满,无法容纳任何记录。
1116:打开的数据表太多。
1129:重新启动数据库。
1130:无法连接到数据库。
您没有连接到数据库的权限。
1133:数据库用户不存在。
1141:当前用户没有访问数据库的权限。
1142:当前用户没有此权限。
访问数据表1143:当前用户无权访问数据表字段。
1146:数据表不存在。
1147:未定义用户对数据表的访问权限。
1149:SQL语句语法错误1158:发生网络错误,读取错误,网络连接状态一探究竟。
1159:网络错误,读取超时,检查网络连接状态。
1160:发生网络错误或写入错误。
检查您的网络连接状态。
1161:网络错误,写入超时,检查网络。
连接状态1062:字段值重复,数据库录入失败1169:字段值重复,记录更新失败1177:打开数据表失败1180:事务提交失败1181:返回滚动事务失败1203:当前用户与数据库建立连接失败已达到数据库连接的最大数量。
增加可用数据库连接数或重新启动数据库。
1205:锁定超时1211:当前用户有创建用户的权限1216:外键约束检查失败,更新子表记录失败1217:外键约束检查失败,删除或修改基表记录失败1226:当前用户使用的资源超出。
资源已接受。
重新启动数据库或重新启动服务器。
1227:权限不足。
您没有执行此操作的权限。
1235:MySQL版本太低,没有此功能。
2002:无法连接...这通常意味着:没有正在运行的MySQL服务器。
您的系统正在使用错误的套接字文件或TCP/IP端口,或者正在尝试连接到mysqld服务器。
注意:以上只是典型的错误编号,解决方案不一定有效!详细的错误代码、错误名称/错误代码以及SQL状态ER_HASHCHK1000HY000ER_NISAMCHK1001HY000ER_NO1002HY000ER_YES1003HY000ER_CANT_CREATE_FILE1请参见MYSQL手册(可从各大下载网站下载)。
004HY000ER_CANT_CREATE_TABLE1005HY000ER_CANT_CREATE_DB1006HY000ER_DB_CREATE_EXISTS1007HY000ER_DB_DROP_EXISTS1008HY000ER_DB_DROP_DELETE1009HY000ER_DB_DROP_RMDIR1010HY000ER_CANT_DELETE_FILE1011HY000ER_CANT_FIND_SYSTEM_REC1012HY000ER_CANT_GET_STAT1013HY000ER_CANT_GET_WD1014HY000ER_CANT_LOCK1015HY000ER_CANT_OPEN_FILE1016HY000ER_FILE_NOT_FOUND1017HY000ER_CANT_READ_DIR1018HY000ER_CANT_SET_WD1019HY000ER_CHECKREAD1020HY000ER_DISK_FULL1021HY000ER_DUP_KEY102223000ER_ERROR_ON_CLOSE1023HY000ER_ERROR_ON_READ1024HY000ER_ERROR_ON_RENAME1025HY000ER_ERROR_ON_WRITE1026HY000ER_FILE_USED1027HY000ER_FILSORT_ABORT1028HY000ER_FORM_NOT_FOUND1029HY000ER_GET_ERRNO1030HY000ER_ILLEGAL_HA1031HY000ER_KEY_NOT_FOUND1032HY000ER_NOT_FORM_FILE1033HY000ER_NOT_KEYFILE1034HY000ER_OLD_KEYFILE1035HY000ER_OPEN_AS_READONLY1036HY000ER_OUTOFMEMORY1037HY001ER_OUT_OF_SORTMEMORY1038HY001ER_UNEXPECTED_EOF1039HY000ER_CON_COUNT_ERROR104008004ER_OUT_OF_RESOURCES104108004ER_BAD_HOST_ERROR104208S01ER_HANDSHAKE_ERROR104308S01ER_DBACCESS_DENIED_ERROR104442000ER_ACCESS_DENIED_ERROR104542000ER_NO_DB_ERROR104642000ER_UNKNOWN_COM_ERROR104708S01ER_BAD_NULL_ERROR104823000ER_BAD_DB_ERROR104942000ER_TABLE_EXISTS_ERROR105042S01ER_BAD_TABLE_ERROR105142S02ER_NON_UNIQ_ERROR105223000ER_SERVER_SHUTDOWN105308S01ER_BAD_FIELD_ERROR105442S22ER_WRONG_FIELD_WITH_GROUP105542000ER_WRONG_GROUP_FIELD105642000ER_WRONG_SUM_SELECT105742000ER_WRONG_VALUE_COUNT105821S01ER_TOO_LONG_IDENT105942000ER_DUP_FIELDNAME106042S21ER_DUP_KEYNAME106142000ER_DUP_ENTRY106223000ER_WRONG_FIELD_SPEC106342000ER_PARSE_ERROR106442000ER_EMPTY_QUERY106542000ER_NONUNIQ_TABLE106642000ER_INVALID_DEFAULT106742000ER_MULTIPLE_PRI_KEY106842000ER_TOO_MANY_KEYS106942000ER_TOO_MANY_KEY_PARTS107042000ER_TOO_LONG_KEY107142000ER_KEY_COLUMN_DOES_NOT_EXITS107242000ER_BLOB_USED_AS_KEY107342000ER_TOO_BIG_FIELDLENGTH107442000ER_WRONG_AUTO_KEY107542000ER_READY107600000ER_NORMAL_SHUTDOWN107700000ER_GOT_SIGNAL107800000ER_SHUTDOWN_COMPLETE107900000ER_FORCING_CLOSE108008S01ER_IPSOCK_ERROR108108S01ER_NO_SUCH_INDEX108242S12ER_WRONG_FIELD_TERMINATORS108342000ER_BLOBS_AND_NO_TERMINATED108442000ER_TEXTFILE_NOT_READABLE1085HY000ER_FILE_EXISTS_ERROR1086HY000ER_LOAD_INFO1087HY000ER_ALTER_INFO1088HY000ER_WRONG_SUB_KEY1089HY000ER_CANT_REMOVE_ALL_FIELDS109042000ER_CANT_DROP_FIELD_OR_KEY109142000ER_INSERT_INFO1092HY000ER_UPDATE_TABLE_USED1093HY000ER_NO_SUCH_THREAD1094HY000ER_KILL_DENIED_ERROR1095HY000ER_NO_TABLES_USED1096HY000ER_TOO_BIG_SET1097HY000ER_NO_UNIQUE_LOGFILE1098HY000ER_TABLE_NOT_LOCKED_FOR_WRITE1099HY000ER_TABLE_NOT_LOCKED1100HY000ER_BLOB_CANT_HAVE_DEFAULT110142000ER_WRONG_DB_NAME110242000ER_WRONG_TABLE_NAME110342000ER_TOO_BIG_SELECT110442000ER_UNKNOWN_ERROR1105HY000ER_UNKNOWN_PROCEDURE110642000ER_WRONG_PARAMCOUNT_TO_PROCEDURE110742000ER_WRONG_PARAMETERS_TO_PROCEDURE1108HY000ER_UNKNOWN_TABLE110942S02ER_FIELD_SPECIFIED_TWICE111042000ER_INVALID_GROUP_FUNC_USE111142000ER_UNSUPPORTED_EXTENSION111242000ER_TABLE_MUST_HAVE_COLUMNS111342000ER_RECORD_FILE_FULL1114HY000ER_UNKNOWN_CHARACTER_SET111542000ER_TOO_MANY_TABLES1116HY000ER_TOO_MANY_FIELDS1117HY000ER_TOO_BIG_ROWSIZE111842000ER_STACK_OVERRUN1119HY000ER_WRONG_OUTER_JOIN112042000ER_NULL_COLUMN_IN_INDEX112142000ER_CANT_FIND_UDF1122HY000ER_CANT_INITIALIZE_UDF1123HY000ER_UDF_NO_PATHS1124HY000ER_UDF_EXISTS1125HY000ER_CANT_OPEN_LIBRARY1126HY000ER_CANT_FIND_DL_ENTRY1127HY000ER_FUNCTION_NOT_DEFINED1128HY000ER_HOST_IS_BLOCKED1129HY000ER_HOST_NOT_PRIVILEGED1130HY000ER_PASSWORD_ANONYMOUS_USER113142000ER_PASSWORD_NOT_ALLOWED113242000ER_PASSWORD_NO_MATCH113342000ER_UPDATE_INFO1134HY000ER_CANT_CREATE_THREAD1135HY000ER_WRONG_VALUE_COUNT_ON_ROW113621S01ER_CANT_REOPEN_TABLE1137HY000ER_INVALID_USE_OF_NULL113842000ER_REGEXP_ERROR113942000ER_MIX_OF_GROUP_FUNC_AND_FIELDS114042000ER_NONEXISTING_GRANT114142000ER_TABLEACCESS_DENIED_ERROR114242000ER_COLUMNACCESS_DENIED_ERROR114342000ER_ILLEGAL_GRANT_FOR_TABLE114442000ER_GRANT_WRONG_HOST_OR_USER114542000ER_NO_SUCH_TABLE114642S02ER_NONEXISTING_TABLE_GRANT114742000ER_NOT_ALLOWED_COMMAND114842000ER_SYNTAX_ERROR114942000ER_DELAYED_CANT_CHANGE_LOCK1150HY000ER_TOO_MANY_DELAYED_THREADS1151HY000ER_ABORTING_CONNECTION115208S01ER_NET_PACKET_TOO_LARGE115308S01ER_NET_READ_ERROR_FROM_PIPE115408S01ER_NET_FCNTL_ERROR115508S01ER_NET_PACKETS_OUT_OF_ORDER115608S01ER_NET_UNCOMPRESS_ERROR115708S01ER_NET_READ_ERROR115808S01ER_NET_READ_INTERRUPTED115908S01ER_NET_ERROR_ON_WRITE116008S01ER_NET_WRITE_INTERRUPTED116108S01ER_TOO_LONG_STRING116242000ER_TABLE_CANT_HANDLE_BLOB116342000ER_TABLE_CANT_HANDLE_AUTO_INCRMENT116442000ER_DELAYED_INSERT_TABLE_LOCKED1165HY000ER_WRONG_COLUMN_NAME116642000ER_WRONG_KEY_COLUMN116742000ER_WRONG_MRG_TABLE1168HY000ER_DUP_UNIQUE116923000ER_BLOB_KEY_WITHOUT_LENGTH117042000ER_PRIMARY_CANT_HAVE_NULL117142000ER_TOO_MANY_ROWS117242000ER_REQUIRES_PRIMARY_KEY117342000ER_NO_RAID_COMPILED1174HY000ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE1175HY000ER_KEY_DOES_NOT_EXITS1176HY000ER_CHECK_NO_SUCH_TABLE117742000ER_CHECK_NOT_IMPLMENTED117842000ER_CANT_DO_THIS_DURING_AN_TRANSACTION117925000ER_ERROR_DURING_COMMIT1180HY000ER_ERROR_DURING_ROLLBACK1181HY000ER_ERROR_DURING_FLUSH_LOGS1182HY000ER_ERROR_DURING_CHECKPOINT1183HY000ER_NEW_ABORTING_CONNECTION118408S01ER_DUMP_NOT_IMPLMENTED1185HY000ER_FLUSH_MASTER_BINLOG_CLOSED1186HY000ER_INDEX_REBUILD1187HY000ER_MASTER1188HY000ER_MASTER_NET_READ118908S01ER_MASTER_NET_WRITE119008S01ER_FT_MATCHING_KEY_NOT_FOUND1191HY000ER_LOCK_OR_ACTIVE_TRANSACTION1192HY000ER_UNKNOWN_SYSTEM_VARIABLE1193HY000ER_CRASHED_ON_USAGE1194HY000ER_CRASHED_ON_REPAIR1195HY000ER_WARNING_NOT_COMPLETE_ROLLBACK1196HY000ER_TRANS_CACHE_FULL1197HY000ER_SLAVE_MUST_STOP1198HY000ER_SLAVE_NOT_RUNNING1199HY000ER_BAD_SLAVE1200HY000ER_MASTER_INFO1201HY000ER_SLAVE_THREAD1202HY000ER_TOO_MANY_USER_CONNECTIONS120342000ER_SET_CONSTANTS_ONLY1204HY000ER_LOCK_WAIT_TIMEOUT1205HY000ER_LOCK_TABLE_FULL1206HY000ER_READ_ONLY_TRANSACTION120725000ER_DROP_DB_WITH_READ_LOCK1208HY000ER_CREATE_DB_WITH_READ_LOCK1209HY000ER_WRONG_ARGUMENTS1210HY000ER_NO_PERMISSION_TO_CREATE_USER121142000ER_UNION_TABLES_IN_DIFFERENT_DIR1212HY000ER_LOCK_DEADLOCK121340001ER_TABLE_CANT_HANDLE_FULLTEXT1214HY000ER_CANNOT_ADD_FOREIGN1215HY000ER_NO_REFERENCED_ROW121623000ER_ROW_IS_REFERENCED121723000ER_CONNECT_TO_MASTER121808S01ER_QUERY_ON_MASTER1219HY000ER_ERROR_WHEN_EXECUTING_COMMAND1220HY000ER_WRONG_USAGE1221HY000ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT122221000ER_CANT_UPDATE_WITH_READLOCK1223HY000ER_MIXING_NOT_ALLOWED1224HY000ER_DUP_ARGUMENT1225HY000ER_USER_LIMIT_REACHED122642000ER_SPECIFIC_ACCESS_DENIED_ERROR1227HY000ER_LOCAL_VARIABLE1228HY000ER_GLOBAL_VARIABLE1229HY000ER_NO_DEFAULT123042000ER_WRONG_VALUE_FOR_VAR123142000ER_WRONG_TYPE_FOR_VAR123242000ER_VAR_CANT_BE_READ1233HY000ER_CANT_USE_OPTION_HERE123442000ER_NOT_SUPPORTED_YET123542000ER_MASTER_FATAL_ERROR_READING_BINLOG1236HY000ER_WRONG_FK_DEF123742000ER_KEY_REF_DO_NOT_MATCH_TABLE_REF1238HY000ER_CARDINALITY_COL123921000ER_SUBSELECT_NO_1_ROW124021000ER_UNKNOWN_STMT_HANDLER1241HY000ER_CORRUPT_HELP_DB1242HY000ER_CYCLIC_REFERENCE1243HY000ER_AUTO_CONVERT1244HY000ER_ILLEGAL_REFERENCE124542S22ER_DERIVED_MUST_HAVE_ALIAS124642000ER_SELECT_REDUCED124701000ER_TABLENAME_NOT_ALLOWED_HERE124842000ER_NOT_SUPPORTED_AUTH_MODE124908004ER_SPATIAL_CANT_HAVE_NULL125042000ER_COLLATION_CHARSET_MISMATCH125142000ER_SLAVE_WAS_RUNNING1252HY000ER_SLAVE_WAS_NOT_RUNNING1253HY000ER_TOO_BIG_FOR_UNCOMPRESS1254HY000ER_ZLIB_Z_MEM_ERROR1255HY000ER_ZLIB_Z_BUF_ERROR1256HY000ER_ZLIB_Z_DATA_ERROR1257HY000ER_CUT_VALUE_GROUP_CONCAT1258HY000ER_WARN_TOO_FEW_RECORDS125901000ER_WARN_TOO_MANY_RECORDS126001000ER_WARN_NULL_TO_NOTNULL126101000ER_WARN_DATA_OUT_OF_RANGE126201000ER_WARN_DATA_TRUNCATED126301000ER_WARN_USING_OTHER_HANDLER126401000ER_CANT_AGGREGATE_COLLATIONS126542000ER_DROP_USER126642000ER_REVOKE_GRANTS126742000

insert和update的区别

UPDATEUPDATE的功能是更新表中的数据。
语法类似于INSERT的第二种用法。
您必须提供表名和SET表达式,并且可以稍后添加WHERE以限制正在更新的记录范围。
UPDATEtable_anemSETcolumn_name1=value1,column_name2=value2,...在哪里…WHEREid=123;同样,可以使用UPDATE来更新多个字段的值。
UPDATEusersSETage=24,name='Mike'WHEREid=123;上面的UPDATE语句通过WHERE指定条件。
​​表中的所有记录。
当您使用UPDATE更新记录时,如果要更新的字段类型与其分配的值不匹配,MySQL会将该值转换为该类型的值。
如果该字段是数字类型并且分配的值超出了该数据类型的最大范围,MySQL会将该值转换为该范围的最大值或最小值。
如果字符串太长,MySQL会截断多余的字符串。
如果将非空字段设置为空,将该字段设置为其默认值。
数字的默认值为0,字符串的默认值为空字符串(非null,“”)。
有两种情况UPDATE对表中的数据没有影响:1、当表中没有符合WHERE条件的记录时。
2.如果对特定字段指定相同的值,例如将字段abc指定为'123',则abc的原始值为'123'。
与INSERT和REPLACE类似,UPDATE返回更新的记录数。
但是,这些记录号不包括满足WHERE条件但尚未更新的记录。
以下UPDATE语句不会更新任何记录。
UPDATEusersSETage=30WHEREid=12;QueryOK,0rowsaffected(0.00sec)需要注意的是,如果字段类型是TIMESTAMP,则当其他字段有日期时,该字段将自动更新。
在某些情况下,您可能需要获取使用UPDATE选择的行数,而不是更新的行数。
我们可以通过一些API来达到这个目的。
例如,MySQL提供的CAPI使您可以选择获取所需的记录数。
MySQL的JDBC驱动程序默认获取的记录数也是匹配的记录数。
UPDATE和REPLACE基本相似,但有两点不同。
1.UPDATE如果没有匹配记录则不执行任何操作,而REPLACE如果有重复记录则更新,如果没有重复记录则插入。
2.UPDATE可以有选择地更新一条记录中的某些字段。
如果REPLACE发现重复记录,它将完全删除该记录并插入新记录。
这意味着所有字段都将被更新。
INSERT和REPLACEINSERT和REPLACE语句的功能是将新数据插入表中。
这两个语句的语法相似。
主要区别在于重复数据的处理方式。
1.INSERT的常见用法MySQL的INSERT语句与标准INSERT不同。
标准SQL语句只有一种类型的INSERT语句,即一次插入一条记录。
INSERTINTOTTablename(列名...)VALUES(列值);MySQL还有另一种格式:INSERTINTO表名SETcolumn_name1=value1,column_name2=value2,...;第一种方法是区分列名和列值。
使用时,列名必须与列值的数量匹配。
例如,以下语句将一条记录插入到users表中。
INSERTINTOusers(id,name,age)VALUES(123,'姚明',25);第二种方法允许显示和使用列名和列值。
如下所示,成对使用时可达到相同的效果。
 INSERTINTOUusersSETid=123,name='姚明',age=25;使用SET方法时,必须至少为一列赋值。
如果字段使用默认值(例如默认值或自动增量值),这两种方法都允许您省略这些字段。
如果id字段使用自增值,则上面两条语句可以写成如下格式:INSERTINTOusers(name,age)VALUES('姚明',25);INSERTINTUsesSETname='姚明',age=25;MySQL也这样做了一些改变。
如果没有向VALUES写入任何内容,MySQL会使用表中每一列的默认值插入新记录。
INSERTINTOUusers()VALUES();如果表名后面没有任何内容,写入的意思是给表中的所有字段赋值。
使用这种方,不仅VALUES中的值必须与列数匹配,而且不能重新排序。
INSERTINTOUsersVALUES(123,'姚明',25);如果按照以下格式编写INSERT语句,MySQL会报错:INSERTINTOUusersVALUES('姚明',25);2.使用INSERT插入多条记录。
看这个标题,不是可以通过多次调用INSERT语句来插入多条记录吗?然而,这种方法增加了SQL服务器的负载,因为它每次运行时都必须对SQL进行分析和优化。
幸运的是,MySQL提供了另一种解决方案,使用INSERT语句插入多条记录。
这不是标准的SQL语法,只能在MySQL中使用。
INSERTINTOUusers(name,age)VALUES('YaoMing',25),('BillGates',50),('Martian',600)上面的INSERT语句将三个连续的记录插入到users表中。
值得注意的是,上面INSERT语句中的VALUES后面,每条记录的值必须成对放置(...),用“,”分隔。
表1CREATETABLE表1(nINT);假设你有一张桌子。
如果您尝试向table1中插入5条记录,则以下写入不正确。
INSERTINTOTable1(i)VALUES(1,2,3,4,5)MySQL抛出以下错误:ERROR1136:columncountdoesn'tmatchvaluecountatrow1正确的写法应该是:插入表1(i)VALUES(1),(2),(3),(4),(5);当然这种写法也可以省略列。
括号中的值的数量必须匹配,并且这个数字必须与列数匹配。
示例:INSERTINTOTable1VALUES(1),(2),(3),(4),(5);3.REPLACE语句这种情况在使用数据库时经常会出现。
如果表中的字段具有唯一索引,并且使用现有键值将记录插入表中,则会出现主键冲突错误。
当然,您可能想用新记录值覆盖旧记录值。
如果使用传统方法,必须首先使用DELETE语句删除原始记录,然后使用INSERT插入新记录。
MySQL提供了一种新的解决方案,称为REPLACE语句。
当使用REPLACE插入记录时,如果没有重复记录,REPLACE与INSERT具有相同的功能。
如果存在重复记录,REPLACE使用新记录中的值来替换原始记录值。
使用REPLACE的最大优点是可以将DELETE和INSERT合二为一,形成原子操作。
这样就无需考虑复杂的操作,例如同时使用DELETE和INSERT时添加事务。
使用REPLACE时,表必须有唯一索引,并且该索引所在的字段不能接受空值。
否则REPLACE与INSERT完全相同。
运行REPLACE后,系统返回受影响的行数。
返回1表示表中没有重复记录。
如果返回2,系统自动调用DELETE删除。
写一条记录,然后记录下来,并使用INSERT插入这条记录。
如果返回值大于2,则说明存在多个唯一索引以及多条删除和插入的记录。
REPLACE语法与INSERT非常相似。
例如,以下REPLACE语句插入或更新一条记录。
REPLACEINTOUusers(id,name,age)VALUES(123,'赵本山',50);插入多条记录:REPLACEINTOUusers(id,name,age)VALUES(123,'赵本山',50),(134,'Mary',15);REPLACE也可以使用SET语句。
REPLACEINTOUusersSETid=123,name='赵本山',age=50;如上所述,REPLACE可以影响三个以上的记录。
向表写入唯一索引。
在这种情况下,REPLACE会考虑每个唯一索引,删除每个索引对应的重复记录,然后插入新记录。
假设我们有一个表table1,有三个字段a、b、c。
它们都有一个唯一的索引。
CREATETABLEtable1(aINTNOTNULLUNIQUE,bINTNOTNULLUNIQUE,cINTNOTNULLUNIQUE);假设table1中已经有3条记录:abc<111>REPLACEINTOTable1(a,b,c)VALUES(1,2,3);返回的结果是:QueryOK,4rowsaffected(0.00sec)table1中的记录如下:您可以看到abc123REPLACE删除了所有三个原始记录。
按然后插入(1,2,3)。