MySQL自增从1开始而不是从0开始自增mysql不从0开始自增

2 02 3 年,朋友问我为什么MySQL自增ID从1 开始,而不是从0开始。
解释一下,MySQL默认自增ID是从0开始的,但是如果你想让它从1 开始,可以在创建表的时候设置AUTO_INCRMENT=1
例如,创建表时您可以:
CREATE TABLE table_name ( id int(1 1 ) 无符号非空自动递增; 列 1 varchar(2 5 5 ) NOT NULL; 列2 varchar(2 5 5 ) NOT NULL; 主键(id) ) ENGINE=InnoDB AUTO_INCRMENT=1 DEFAULT CHARSET=utf8 mb4 COLLATE=utf8 mb4 _09 00__ci;
这里 AUTO_INCRMENT=1 定义了从 1 开始的自动递增 ID。

创建表后,可以使用 ALTER TABLE 语句自动修改 ID 的值:
ALTER TABLE table_name AUTO_INCRMENT=1 ;
但是运行时要小心,修改自动输入ID的起始值会影响当前数据的ID值。
他听后,点了点头,明白了。
忘了它

mysql如何通过触发器将一个表的数据新增一条记录后与另一个表匹配运算结果写入到另一个中。

结论:当A表插入数据时,B表工作不正常。

日期:2 02 3 年4 月5 日 地点:某公司数据库部 具体编号:无
错误位置:触发器名称不清楚,setB.ID=NE语法错误。

修正建议: 1 . 确定触发器名称,例如例如。
node_insert_after_insert_on_A。
2 . 应更改 setB.ID=NE 以更新 ID 字段的实际值或逻辑,例如例如。
设置 B.ID = NEW.ID。
3 .完整触发示例: sql 创建触发器node_insert_after_insert_on_A 粘贴后 对于每一行 开始 IF EXISTS (SELECT 1 FROM B WHERE B.ID = NEW.ID) THEN UPDATE B SET /更新字段/WHERE B.ID = NEW.ID; 否则 INSERT INTO B/插入字段/VALUES(NEW.ID,/其他值/); 结束如果; 结尾;